Подтвердить что ты не робот

JQuery - как я могу найти, имеет ли идентификатор определенную строку?

У меня есть таблица, и я хочу знать, содержит ли ее последний td свой идентификатор определенной строки. Например, если мой последний td имеет идентификатор "1234abc", я хочу знать, содержит ли этот идентификатор "34a". И мне нужно сделать это в выражении "if".

if (myLastTdId Содержит "blablabla" ) {сделайте что-нибудь}

Спасибо!!!

4b9b3361

Ответ 1

Вы можете использовать селектор attributeContains:

if($("#yourTable td:last-child[id*='34a']").length > 0) { 
   //Exists, do something...
} 

Ответ 2

Это легко сделать с помощью indexOf и last-child.

<table id='mytable'>
<tr>
  <td id='abc'></td>
  <td id='cde'></td>
</tr>
</table>

<script>
if($('#mytable td:last-child').attr('id').indexOf('d') != -1) {
   alert('found!');
}
</script>

Здесь он будет предупреждать "найден", потому что d появляется в строке cde

Ответ 3

Если ваш td "голый" (т.е. не обернут в объект jQuery), вы можете получить доступ к его атрибуту id напрямую:

if (myTD.id.indexOf("34a") > -1) {
    // do stuff
}

Если он находится в объекте jQuery, вам нужно сначала его вывести:

if (jMyTD[0].id.indexOf("34a") > -1 {
    // do stuff
}

Функция indexOf находит смещение одной строки в другой. Он возвращает -1, если первая строка не содержит второй.

Edit:

С другой стороны, вам может потребоваться уточнить ваш вопрос. Неясно, из каких из них вы пытаетесь сопоставить "34a" против:

  • <td id="1234abcd">blahblah</td>
  • <td id="blahblah">1234abcd</td>
  • <table id="1234abcd"><tr><td>blahblah</td></tr></table>
  • <table id="blahblah"><tr><td>1234abcd</td></tr></table>

Ответ 4

Не совсем понятно, если вы имеете в виду последний td в каждом tr, или самый последний td:

if ($('#myTable td:last[id*=34a]').length) {
    ...
}