在按钮单击Javascript时添加元素CSS属性后动态更改元素CSS属性
Dynamically change element CSS properties after adding it on button click Javascript
用户通过单击按钮创建div后,我希望能够单击该div并更改其颜色。我想知道为什么这是不可能的。如果div 是硬编码的,但在动态创建后就不工作了。另外,我如何使其工作?
$("#addDiv").click(function() {
var div = '<div id="clickMe" style="width:200px; height:200px; background:blue;"></div>';
$("#container").html(div);
});
$("#clickMe").click(function() {
$(this).css("background", "red");
});
您需要对动态生成的元素进行事件委托,如下所示。
$('body').on('click', '#clickMe', function() {
$(this).css("background", "red");
});
没问题。只需在创建的元素上创建侦听器即可。像这样:
$("#addDiv").click(function() {
var $div = $('<div/>', {
id: 'clickMe',
width: 200,
height: 200,
})
.css('background', 'blue')
.click(function() {
$(this).css("background", "red");
});
$("#container").html($div);
});
JSFiddle
相关文章:
- 获取HTML属性中CSS声明的值
- 谷歌图表-如何更改整个表的css属性
- 如何通过HTML+CSS中的另一个元素Selector更改元素的属性值
- Css order属性不't在Jquery设置时更新
- CSS中的游标属性似乎不适用于USB On The Go
- 重写CSS:使用jquery显示none属性
- CSS样式属性留空
- 如何在CSS或Javascript中定位选定的属性(在HTML选项中)
- 从CSS到Javascript的属性值
- Android在HTML容器中滚动,该容器具有CSS溢出属性
- 将css属性替换为变量
- 使用Jquery/Javascript替换CSS属性
- 带有CSS的数据属性就没那么有用了
- 如何使用JavaScript查找未定义的CSS属性的值
- 在jquerymobile中设置按钮css属性的动画
- 使用javascript和css选择器获取value属性的内容
- JavaScript无法提取引号css属性
- 使用AngularJS动态更改css属性
- 使用javascript获取具有特定CSS属性的所有元素
- 将css属性添加到对象的集合中