为什么我无法使用附加 div 编辑颜色。
点击按钮并添加新的div调用'block2',如果使用$(this),它将不起作用。 如何解决?
HTML
<div id="btn"><input name="click" type="button" value="Click" /></div>
<div class="block1" style=" width:100px; height:100px; background:orange;">I am Block1</div>
JS
$('#btn').click(function(){
var $newDiv=$('<div class="block2" style=" width:100px; height:100px; background:green;">I am Block2</div>');
$( "#btn").parent().append($newDiv);
});
$('.block1').click(function(){
$(this).css('background', 'blue');
});
$('.block2').click(function(){
$(this).css('background', 'blue');
});
最佳答案
工作演示 http://jsfiddle.net/e7Apx/
请注意,您要附加元素,因此请对 .block2
类使用 API .on
: $(document).on('click',' .block2',function() { ... });
API:.on
文档 -> http://api.jquery.com/on/
希望它符合原因:)
代码
$(function() {
$('#btn').click(function() {
var $newDiv = $('<div class="block2" style=" width:100px; height:100px; background:green;">I am Block2</div>');
$("#btn").parent().append($newDiv);
});
$('.block1').click(function() {
$(this).css('background', 'blue');
});
$(document).on('click','.block2',function() {
$(this).css('background', 'blue');
});
});
关于jQuery - 为什么我无法使用附加 div 更改颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12984355/