我有一个简短的脚本,样式表单单选按钮。检查工作示例http://jsfiddle.net/YJRsk/。jQuery,脚本无法识别新添加的元素
当DOM中已经存在单选按钮时,这很好用。所以当页面加载时,他们的风格正确。
问题是,当我通过追加动态添加单选按钮时,脚本无法识别它们,因为它已经在页面加载中运行。所以出于这个原因,我得到一个错误Uncaught TypeError:无法读取null的属性'样式'。我该如何解决这个问题,以便新近添加的收音机在现场自动设置样式,而不必保存和刷新页面。每次无线电追加后,我都试图运行脚本,但那不起作用。
var item = '<li><input type="radio" value="'+uniqid()+'" class="styled" name="test"/><label class="radioButton">Radio button</label></li>';
$('button').live('click', function() {
$(item).appendTo('#radio');
})
检查jsfiddle示例,然后单击“添加收音机”按钮进行测试。
问题在于你的* custom_form.js *。哪些只在加载时运行,而不是在加入到dom后运行。 – Yoshi 2012-01-16 08:11:15
我正在寻找一种方法来重新运行这个js文件,每次追加后,所以新添加的元素得到样式 – Pinkie 2012-01-16 08:49:43
你可以,通过简单地添加'Custom.init();'到onclick处理程序。但正如预期的那样,这仅仅对于新元素才是正确的,并且已经*重新合成*坏了。我最好的建议是转储整个脚本并仅使用jQuery对其进行重做。 – Yoshi 2012-01-16 09:00:27