如何通过javascript从模板中获取元素?

时间:2012-06-09 07:36:25

标签: javascript html templates

我不知道如何通过javascript从模板中获取DOM元素的好方法。

示例模板:

<script id = "template" type="text/template">
    <div>text1</div>
    <div>text2</div>
    <div>text3</div>
</script>

例如,我想用“text2”获取div

我知道的方法都很糟糕:

  1. 为所有元素添加“class” - 它打破了语义(为CSS创建的类)。在大项目中,你必须使用非常长的名字,这非常不方便。

  2. 按编号(索引)获取元素 - 添加新元素时,必须在代码中重写旧数字。

2 个答案:

答案 0 :(得分:1)

我看到了几个选项:

  1. 如果您不想使用class,可以使用data-* attribute

  2. 假设您加载模板一次然后根据需要复制其内容,您可以将id值放在模板中的元素上,然后在克隆它们时将其删除并将它们添加到文档中(因此您不会在元素的多个副本上使用相同的id,这将是无效的并且可能适得其反)。

答案 1 :(得分:0)

也许您也可以根据需要创建任意数量的模板。   每个div一个。   如果你需要一次获得每个div,你必须为它们设置id ...当然你也可以浏览dom inside script元素来找到你感兴趣的那个......

首页帮助

此致

mimiz