分配样式与点击事件不工作
Assigning styles with click event not working
这应该非常简单。我想把props
属性分配给所有的li。
我从一个for循环开始遍历所有属性,嵌套另一个for循环遍历li的集合。这似乎不起作用,我不知道出了什么问题。我也得到错误:
Uncaught TypeError: Cannot read property 'style' of undefined
下面是我的代码和一个jsfiddle: http://jsfiddle.net/v3Pdr/2/
html<ul>
<li>FooBar</li>
<li>FooBar</li>
<li>FooBar</li>
<li>FooBar</li>
<li>FooBar</li>
<li>FooBar</li>
<li>FooBar</li>
<li>FooBar</li>
<li>FooBar</li>
<li>FooBar</li>
<li>FooBar</li>
<li>FooBar</li>
<li>FooBar</li>
<li>FooBar</li>
<li>FooBar</li>
<li>FooBar</li>
<li>FooBar</li>
<li>FooBar</li>
<li>FooBar</li>
<li>FooBar</li>
</ul>
<button type="submit">Click</button>
JS
(function(){
var props = {
color: "salmon",
fontSize: "24px",
textTransform: "uppercase"
};
for(var iterate in props) {
for(var i = 0; i < document.querySelectorAll("ul li").length; i++) {
document.querySelector("button").onclick = function() {
document.querySelector("ul li").style[iterate] = props[iterate];
console.log(iterate);
}
}
}
console.log(document.querySelectorAll("ul li")); // has length of 20
}());
你把问题理解错了:
(function(){
var props = {
color: "salmon",
fontSize: "24px",
textTransform: "uppercase"
};
document.querySelector("button").onclick = function() {
for(var iterate in props) {
for(var i = 0; i < document.querySelectorAll("ul li").length; i++) {
document.querySelectorAll("ul li")[i].style[iterate]=props[iterate];
};
}
}
console.log(document.querySelectorAll("ul li"));
}());
看到jsfiddle.net/v3Pdr/3/。
相关文章:
- Jquery.点击事件不'更改事件后无法工作
- 当我更改innerHtml时,引导选项卡事件不再工作
- IE8更改文本区域上的事件侦听器不工作
- xPages标签onclick事件不'不要在空白处工作
- JQuery只检查了一次事件工作
- now.js-对象没有方法,但在jquery中单击事件工作
- Jquery Click 事件工作两次
- 单击时事件不作为委派事件工作
- 如何在 angularjs 中使用点击事件工作
- Javascript;CSS:隐藏滚动条,保持滚动事件工作
- Onclick事件工作不正常.node.js中的
- 单击主页上的事件工作,但不起作用并发布页面
- 我如何获得多个独立的文档.Onkeydown事件工作
- 广播事件-工作良好的服务器端,但不是在客户端
- AngularJs Ng-Keypress事件工作错误
- 使我的点击双击事件工作
- Jquery Ajax成功不会触发,而是完成事件工作
- jQuery不能为按钮事件工作
- 是JavaScript事件工作,如果我使用jQuery
- Javascript onclick事件工作显示,但不隐藏