来自变量的JavaScript getElementsById

tom*_*msk 0 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");
Run Code Online (Sandbox Code Playgroud)

但它不起作用

非常感谢你的帮助

dei*_*tch 6

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

  1. getElementById是单数,而不是复数(getElementsById).这是因为在格式正确的html中,每个id必须是唯一的.浏览器允许它滑过,但它只是一个元素
  2. getElementById()正如您在上面所做的那样,DOM上的方法不在字符串上.

我有三种方法可以做到这一点:

你可以尝试创建一个正则表达式来做它,但它会很混乱.您需要找到`id\s + = \"'+ myVar + \"'的每一个匹配项,然后找到它周围的元素.非常凌乱,但可行.

更好的是将其加载到浏览器然后执行 document.getElementById()

更简单的是使用jquery

$(html).find('#test');
Run Code Online (Sandbox Code Playgroud)