Ответ 1
Вы можете использовать селектор attributeContains:
if($("#yourTable td:last-child[id*='34a']").length > 0) {
//Exists, do something...
}
У меня есть таблица, и я хочу знать, содержит ли ее последний td свой идентификатор определенной строки. Например, если мой последний td имеет идентификатор "1234abc", я хочу знать, содержит ли этот идентификатор "34a". И мне нужно сделать это в выражении "if".
if (myLastTdId Содержит "blablabla" ) {сделайте что-нибудь}
Спасибо!!!
Вы можете использовать селектор attributeContains:
if($("#yourTable td:last-child[id*='34a']").length > 0) {
//Exists, do something...
}
Это легко сделать с помощью 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
Если ваш 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>
Не совсем понятно, если вы имеете в виду последний td в каждом tr, или самый последний td:
if ($('#myTable td:last[id*=34a]').length) {
...
}