我想问你如何从JavaScript中的变量中获取id的元素。例如,我在JavaScript变量中包含html源代码,我想从这个变量中获取元素。
例如:
var html = "<html><body><div id='test'>Hi</div> ... lot of code ... <div id='test'>Hi</div><div id='test'>Hi</div> ... lot of code ... </body></html>";
var get = html.getElementsById("test");
但它不起作用
非常感谢您的帮助
答案 0 :(得分:6)
你无法做你正在做的事。你有一些问题。
getElementById
是单数,而不是复数(getElementsById
)。这是因为在格式正确的html中,每个id必须是唯一的。浏览器允许它滑过,但它只是一个元素getElementById()
是 DOM 上的方法,而不是上面的字符串。我可以通过三种方式来实现这一目标:
你可以尝试创建一个正则表达式来做它,但它会很混乱。您需要找到`id \ s + = \“'+ myVar + \”'的每一个匹配项,然后找到它周围的元素。非常混乱,但可行。
最好是将其加载到浏览器中然后执行document.getElementById()
更简单的是使用jquery
$(html).find('#test');
答案 1 :(得分:4)
您可以尝试DOMParser
var html = "<html><body><div id='test'>Hi</div> ... lot of code ... <div id='test'>Hi</div><div id='test'>Hi</div> ... lot of code ... </body></html>";
var parser = new DOMParser();
var doc = parser.parseFromString(html, 'text/html');
var get = doc.getElementsById("test");