在Javascript

时间:2017-08-08 00:39:37

标签: javascript html html-table

编辑:这个问题不重复,我知道此时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标记。

1 个答案:

答案 0 :(得分:0)

在你的情况下,你会得到第一个和第二个'之间的内容,这恰巧恰好是id:

foo.split("'")[1] // -> bar

然而,这不是太有用或可重复使用。您可以将元素推送到内存并将该节点的innerHTML设置为您的字符串,但是示例中的字符串不是有效的HTML,因此它不起作用。

var temp = document.createElement('html')
temp.innerHTML = str
temp.getElementsByTagName('td')[0].id // -> bar

无法想象你的用例,所以也许没有一个是完美的。