「ELEC ...」で始まるすべての<td>
要素テキストを取得するには、私はやっています-
$('td.id').each(function(){
if ($(this).text().indexOf('ELEC') == 0) {}
});
これを行う簡単な方法はあり$('td.id:contains("ELEC*")')
ますか?
「ELEC ...」で始まるすべての<td>
要素テキストを取得するには、私はやっています-
$('td.id').each(function(){
if ($(this).text().indexOf('ELEC') == 0) {}
});
これを行う簡単な方法はあり$('td.id:contains("ELEC*")')
ますか?
ELEC で始まる要素のみを取得するには、.filter
メソッドを使用します。
$("td.id").filter(function(){
return /^ELEC/.test($(this).text());
});
またはわずかに効率的
var $collection = $("td.id");
$collection.filter(function(i){
return /^ELEC/.test($collection.eq(i).text());
});
それがまさにあなたのやり方のようです(ワイルドカードのアスタリスクは不要なので削除しました。):
$('td.id:contains("ELEC")')
ここでは正規表現が実際に必要とされていないため、いくつかの異なる提案の最良のものを組み合わせると、より高速なものが得られるようです。
$("td.id").filter(function() {
return ($(this).text().substr(0, 4) == "Elec");
}).whateverMethodYouWant();
または、少し高速で、jQuery の使用量が少なくなります。
$("td.id").filter(function() {
return ((this.textContent || this.innerText).substr(0, 4) == "Elec");
}).whateverMethodYouWant();