我正試圖找到所有具有以'。'開頭的id
的行。和一些信件。當我用這個字符串調用getElementsByIdStartsWith時,即使我可以看到(並檢查)它們,也不會返回任何行。以子串開頭的行
我的錯誤在哪裏?
getElementsByIdStartsWith: function (optionSymbolRoot) {
var idArr = [];
var trs = document.getElementById("tr");
for(var i=0; i<trs.length; i++)
{
var s = trs[i].id;
if(true == s.startsWith(optionSymbolRoot))
idArr.push(trs[i]);
}
return idArr;
},
ToggleRow : function(rootId) {
var s = ".";
var dottedSymbol = s.concat(rootId);
//process.stdout.write(dottedSymbol);
var rows = this.getElementsByIdStartsWith(dottedSymbol);
rows.forEach(function(row)
{
if (row.style.display == "") {
row.style.display = "none";
}
else {
row.style.display = "";
}
});
},
對於初學者 「開頭」, 'document.getElementById'返回一個具有指定id的單個元素。您可能正在尋找['getElementsByTagName'](https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByTagName) – Hamms
您確定它是'getElementbyById'而不是'getElementsByTagName'嗎? –
'row.style.display'可以有多個值,所以在切換時像':'這樣更好地測試'row.style.display = row.style.display =='none'? '':'none''。 – RobG