如何选择jQuery生成的元素?

Ben*_*don 1 javascript jquery

我试图用一个由js生成的元素激活一个slideDown()onclick.

我从ryanfait.com下载了一个脚本,它允许您自定义单选按钮的外观.这工作正常,但当我尝试将一个动作应用于生成的元素(在这种情况下是一个跨度)时,它不起作用.我该如何解决这个问题?

这是我的HTML:

<div class="radiocont">
                                <label>Yes</label>
                                <input type="radio" class="styled" value="yes" name="watertank" />
                            </div>
                            <div class="radiocont">
                                <label>No</label>
                                <input type="radio" class="styled" value="no" name="watertank" />
                            </div>
Run Code Online (Sandbox Code Playgroud)

当DOM加载时,输入被替换为如下所示的跨度: <span class="radio" title="yes" style="background-position: 0pt 0pt;"></span>

当您单击其中一个跨度时,我想激活slideDown().这是我的js:$('[title="yes"]').click(function() { $(this).nextAll('.secondq:first').slideDown('slow'); });

有人可以帮忙吗?

kar*_*m79 6

使用.live.delegate"附加处理器为当前选择,现在和将来匹配所有元素的事件."

// .live()
$('[title="yes"]').live("click", function() { 
    $(this).nextAll('.secondq:first').slideDown('slow'); 
});

// .delegate() (not entirely sure of your structure, the below may need
// to be modified accordingly
$('.radiocont').delegate("span[title='yes']", "click", function() { 
    $(this).nextAll('.secondq:first').slideDown('slow'); 
});
Run Code Online (Sandbox Code Playgroud)