来自变量的JavaScript getElementById

时间:2014-12-01 07:22:14

标签: javascript getelementbyid

我想问你如何从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");

但它不起作用

非常感谢您的帮助

2 个答案:

答案 0 :(得分:6)

你无法做你正在做的事。你有一些问题。

  1. getElementById是单数,而不是复数(getElementsById)。这是因为在格式正确的html中,每个id必须是唯一的。浏览器允许它滑过,但它只是一个元素
  2. getElementById() DOM 上的方法,而不是上面的字符串
  3. 我可以通过三种方式来实现这一目标:

    你可以尝试创建一个正则表达式来做它,但它会很混乱。您需要找到`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");