1

これは、必要な要素を見つけるための私の JavaScript コードですが、.text()機能していません。

var divCollection = getElementByClass("titletrack");
for (var i=0; i<divCollection.length; i++) {
  if(divCollection[i].text() == title) {
    findMeText = divCollection[i].text();
    alert(findMeText);
  }
}
4

4 に答える 4

1

働くフィドル

これがあなたが念頭に置いていたことであることを願っています。これは複雑に見えるかもしれませんが、もっと簡単な方法があると確信しています。しかし、それは機能します。

var divCollection = document.getElementsByClassName("titletrack");

for (var i = 0; i < divCollection[0].childElementCount; i++) {
    if (divCollection[0].children[i].textContent == "Element 1") {
        findMeText = divCollection[0].children[i].textContent;
        alert(findMeText);
    }
}

これで、divCollection の任意の要素を任意の文字列と比較できます。フィドルでは、文字列「Element 1」を使用して JavaScript の動作を示しました。

于 2013-08-09T09:34:41.637 に答える
0

これを試して:

var divCollection = document.getElementsByClassName('titletrack');

つまり、getElementByClass ではなく getElementsByClassName です。

このようなものは、取引を終了します:

var str = '';
var strSearchingFor = 'foo';
for(var i=0; i < divCollection .length; i++)
{
    str+= " " + divCollection[i].value;
    if(str == strSearchingFor)
    {
        alert("found");
    }
}
于 2013-08-09T08:55:57.120 に答える
0

getElementByClass は一貫して実装されていません ( http://w3schools.invisionzone.com/index.php?showtopic=30857を参照) - これらのブラウザーの不一致に対処したくない場合は、jQuery などを使用することをお勧めします。

var divCollection = $('.titletrack');
于 2013-08-09T08:57:31.957 に答える
0

element.text()ネイティブ JavaScript にはメソッドがありません。element.textContent代わりに使用してください。

if(divCollection[i].textContext.indexOf(title) != -1)要素に等しいのではなく、タイトルが含まれているかどうかを確認するために使用することもできます;-)

于 2013-08-09T08:59:47.920 に答える