选择一个由模板生成ID的元素
Selecting an element with an ID generated by template
我试图创建一个表,使每个单元格都有一个对应于其坐标的唯一ID。这在聚合物中没有问题;我刚刚做了
<table id="table">
<template repeat="{{ file in files }}">
<tr>
<template repeat="{{ rank in ranks }}">
<td id="{{file}}{{rank}}">{{ space }}</td>
</template>
</tr>
</template>
</table>
,其中ranks
, files
和space
是传递给Polymer()函数(分别为数组和字符串)的对象的键。
现在的问题是根据模板生成的ID选择一个表单元格。做
var place = file + rank;
this.$.place.innerHTML = 'foo'
不起作用,因为它会抛出"cannot set innerHTML property of undefined"错误。我无法为我的生活想出一种方法来告诉聚合物的自定义节点查找语法如何查找未在模板中明确定义的ID(如'#table')。
当元素第一次被设置时,自动查找带有id的元素的节点。我敢说,您不能将它用于具有动态创建id的节点。相反,使用this.shadowRoot
并查询节点:
this.shadowRoot.getElementById(place).innerHTML = 'foo';
var place = file + rank;
this.$.place.innerHTML = 'foo';
将永远不起作用。place
是一个变量,而不是$
的属性。你需要使用数组符号:
this.$[place].innerHTML = 'foo';
但是,这不起作用,因为id是在元素准备好之后动态创建的。
- Javascript:表单验证getElementById仅返回第一个id元素
- 如何为每个带有数字的id元素使用Javascript函数
- 使用regex选择ID元素
- Bootstrap Navbar在选择ID元素后未折叠
- JavaScript-更改一组包含特定文本和变量ID元素的链接
- 父页面中的 JQuery 未在部分视图中检测到 id 元素
- ID 元素在作为参数给出时返回
- 当 Javascript 中的 POST ID 元素插入 PDO 时,数据库中没有结果
- 为什么变量值不显示在 id 元素中
- 如何查找 id 元素的文本值
- 使用 ajax 将 id 元素传递给数据库
- 从另一个HTML文件中获取ID元素
- 正在克隆html标记id元素
- 如何在html中循环使用ID元素
- 获取动态生成的id元素的内部文本发送到谷歌分析
- 如何通过tagname检查ID元素
- jQuery滚动到底部的ID元素
- 检查Id元素javascript
- 在我显示一个id元素后,页面跳转到顶部
- 如何在HTML中突出显示当前的id元素