我如何修改动态生成的HTML元素的样式
how i can modify style of html element generated dinamically?
我有这个代码:
function createfunc(i) {
return function() {
document.getElementById('id'+i).style.color='red';
document.getElementById('id'+i).innerHTML = "Paragraph changed!";
}
}
function onDeviceReady() {
var olnew = document.createElement("ul");
for (i = 0; i < 10; i++){
var newLi = document.createElement("li");
var title = document.createElement('h2');
title.id="id"+i;
title.innerHTML = i;
newLi.appendChild(title);
newLi.onclick =createfunc(i);
olnew.appendChild(newLi);
}
}
但是当我单击li元素时,它不会更改颜色或文本
非常感谢
更新
原始代码是:
<html>
<head>
<script>
function createfunc(i) {
return function() {
document.getElementById('id'+i).style.color='red';
document.getElementById('id'+i).innerHTML = "Paragraph changed!";
}
}
function onDeviceReady() {
var olnew = document.getElementById('ordenes');
for (i = 0; i < 10; i++){
var newLi = document.createElement("li");
var title = document.createElement('h2');
title.id="id"+i;
title.innerHTML = i;
newLi.appendChild(title);
newLi.onclick =createfunc(i);
olnew.appendChild(newLi);
}
}
</script>
</head>
<body onload="onDeviceReady();">
<div id="layout">
<ul id="ordenes" ></ul>
</div>
</body>
</html>
当我点击 li 时,没有变化,li 元素有 id,但不起作用
不要维护ID
属性,而是在handler-function
中使用this
上下文来表示调用事件Element
,并使用querySelector
来选择元素的child
。
function createfunc() {
this.querySelector('h2').style.color = 'red';
this.querySelector('h2').innerHTML = "Paragraph changed!";
}
function onDeviceReady() {
var olnew = document.getElementById('ordenes');
for (var i = 0; i < 10; i++) {
var newLi = document.createElement("li");
var title = document.createElement('h2');
title.innerHTML = i;
newLi.appendChild(title);
newLi.onclick = createfunc;
olnew.appendChild(newLi);
}
}
<body onload="onDeviceReady();">
<div id="layout">
<ul id="ordenes"></ul>
</div>
</body>
相关文章:
- ID为的HTML样式类
- 在呈现HTML样式和脚本时加载启动页
- 带有 Cakephp Action 的 HTML 样式输入
- 原始HTML样式与jQuery生成的具有相同结构的HTML不同
- 使用基于值的 Javascript 设置 HTML 样式
- 如何使用javascript检查HTML样式属性是否存在
- jquery在特定的html样式中不起作用
- javascript如何获取html样式'的自定义属性值
- HTML样式=“;溢出:隐藏;使用JavaScript/jQuery访问溢出内部的元素
- 加载Angular JS时的HTML样式
- 如何将HTML样式类传递给Javascript函数参数
- 为HTML样式添加隐藏/显示功能(不在CSS文档中)
- 如何在一个HTML样式表中添加多个配色方案
- $的问题.发布Jquery和HTML样式
- 用IE在Angular模板中设置HTML样式的问题
- Jquery工具提示传递html样式/格式化代码时需要调整.html()方法
- html样式在Docbook和TEI文档中有效吗
- JavaScript不会更改HTML样式
- HTML 样式表相互干扰
- JQuery:如何在所有HTML样式属性中搜索(键,值)对并替换值