jQuery - 为什么我无法使用附加 div 更改颜色

标签 jquery

为什么我无法使用附加 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/

相关文章:

javascript - Ajax Complete 在成功准备好之前被触发,如何防止这种行为?

javascript - 在按钮内内联滑动切换文本内容

javascript - 防止某些元素获得焦点

JavaScript:查找嵌套[引用]

javascript - jQuery 显示前两个回复,隐藏其余部分

jquery - 添加拖动功能以使用 CLNDR.js 从日历中选择多个(范围)日期

javascript - 具有 'colspan' 和 'rowspan' 属性的转置表

JQuery 验证器给出总是 True

jquery - 搜索 'id',其中包含 '/' + jquery

JavaScript 函数 :signup() not sumbitting to ajax