Javascript 以子字符串开头的行
我正在尝试查找id以“.”开头的所有行以及一些字母。使用此字符串调用GetElementsBydStartSwith时,不会返回任何行,即使我可以查看和检查它们 我的错误在哪里Javascript 以子字符串开头的行,javascript,node.js,Javascript,Node.js,我正在尝试查找id以“.”开头的所有行以及一些字母。使用此字符串调用GetElementsBydStartSwith时,不会返回任何行,即使我可以查看和检查它们 我的错误在哪里 函数getDocumentById将只提供一项,因为ID应该是唯一的。如果您想获得这种行为,我建议使用类而不是ID,或者如getElementByTagName上面的注释所述 您还可以使用querySelectorAll函数 document.querySelectorAll('#id'); // This will r
函数getDocumentById将只提供一项,因为ID应该是唯一的。如果您想获得这种行为,我建议使用类而不是ID,或者如getElementByTagName上面的注释所述 您还可以使用querySelectorAll函数
document.querySelectorAll('#id');
// This will return a NodeList with all elements that match the criteria.
function (optionSymbolRoot) {
var idArr = [];
var trs = document.querySelectorAll("tr");
for(var i=0; i<trs.length; i++)
{
var s = trs[i].className;
if(true == s.startsWith(optionSymbolRoot))
idArr.push(trs[i]);
}
return idArr;
}
document.getElementById获取具有指定id属性的单个元素。要获取页面上的所有标记,可以使用或
第二种方法更灵活,因为它接受任何有效的CSS选择器,包括标记名、.class和ID,但速度稍慢。您可以使用attr^=str进行选择,并以attr^=str开始 节点列表需要转换为数组
对于初学者,document.getElementById返回具有指定id的单个元素。您可能正在查找是否确实是getElementById而不是getElementsByTagName?row.style.display可能有许多值,因此在如下切换时最好测试“none”:row.style.display=row.style.display='none'?:'没有,大口喝。谢谢,这就是问题所在。
document.querySelectorAll('#id');
// This will return a NodeList with all elements that match the criteria.
function (optionSymbolRoot) {
var idArr = [];
var trs = document.querySelectorAll("tr");
for(var i=0; i<trs.length; i++)
{
var s = trs[i].className;
if(true == s.startsWith(optionSymbolRoot))
idArr.push(trs[i]);
}
return idArr;
}
var rows = document.getElementsByTagName('tr');
//OR
var rows = document.querySelectorAll('tr');
document.querySelectorAll('tr[id^="str"]')
function rowsIdStartsWith(optionSymbolRoot){
var selector = 'tr[id^="' + optionSymbolRoot + '"]'
var selected = document.querySelectorAll(selector)
return [].slice.call(selected)
}