编辑:这个问题不重复,我知道此时foo尚未插入DOM。我的问题是,是否可以访问分配给foo
的字符串中声明的元素,而无需将其插入到文档对象中。
在下面的代码中,我们将HTML元素声明为JavaScript变量。
<script>
var foo = "<td id = 'bar'>";
</script>
现在,在<script>
代码之后但在</script>
代码之前,如何在表格单元格中访问id
的值?
EG。调用console.log(foo.id)
显然会打印undefined
。
如何调用console.log()
函数(或任何其他函数来访问id
的值)来为我们提供正确的值"bar"
?
我使用<td>
作为示例,但我认为这适用于使用JS声明的任何html标记。
答案 0 :(得分:0)
在你的情况下,你会得到第一个和第二个'
之间的内容,这恰巧恰好是id:
foo.split("'")[1] // -> bar
然而,这不是太有用或可重复使用。您可以将元素推送到内存并将该节点的innerHTML
设置为您的字符串,但是示例中的字符串不是有效的HTML,因此它不起作用。
var temp = document.createElement('html')
temp.innerHTML = str
temp.getElementsByTagName('td')[0].id // -> bar
无法想象你的用例,所以也许没有一个是完美的。