Dynamic Jquery更改动态元素名称在IE7中不起作用

Dynamic Jquery更改动态元素名称在IE7中不起作用,dynamic,internet-explorer-7,element,jquery,Dynamic,Internet Explorer 7,Element,Jquery,我有一些克隆HTML选择元素的代码。克隆技术运作良好 克隆的元素将具有id={original_element_id}-1 克隆元素后,在IE7中我无法选择元素。例如: 原始元素: <select name="13"> <option>Value 1 <option>Value 2 </select> 这在Chrome中有效,但在IE7中不起作用 如何在IE7中选择动态创建的元素 我正在使用Jquery 1.4.2,我已经尝试过1

我有一些克隆HTML选择元素的代码。克隆技术运作良好

克隆的元素将具有id={original_element_id}-1

克隆元素后,在IE7中我无法选择元素。例如:

原始元素:

<select name="13">
    <option>Value 1
    <option>Value 2
</select>
这在Chrome中有效,但在IE7中不起作用

如何在IE7中选择动态创建的元素


我正在使用Jquery 1.4.2,我已经尝试过1.4.3、1.4.1、1.4.0、1.6.2

我已经测试了我的IE7版本,工作正常,请将脚本更改为以下内容:

$(function() {
    $("select[name='13-1']").live('click', function() {
        alert(1);
    });
});
链接:

更新


动态html:

我已经测试了我的IE7版本,工作正常,请将脚本更改为以下内容:

$(function() {
    $("select[name='13-1']").live('click', function() {
        alert(1);
    });
});
链接:

更新

动态html:

  • 下面是一个工作示例:
  • 另外,在使用name属性的地方缺少一个括号
  • 下面是一个工作示例:
  • 另外,在使用name属性的地方缺少一个括号


  • 看起来您在这里没有有效的HTML,并且没有完成jQuery中的选择器。。使用
    option1
    并在jquery
    $('input[name=“13-1”])中单击(function(){})。问题是IE在向DOM中插入无效代码时总是非常挑剔,而其他浏览器则更宽容/有更好的纠错能力。请确保您的代码格式正确,并且应该可以正常工作。这里似乎没有有效的HTML,而且jQuery中的选择器尚未完成。。使用
    option1
    并在jquery
    $('input[name=“13-1”])中单击(function(){})。问题是IE在向DOM中插入无效代码时总是非常挑剔,而其他浏览器则更宽容/有更好的纠错能力。确保代码的格式正确,并且应该正常工作。在JSFIDLE示例中,元素不是动态克隆/添加的。我怀疑这是IETheLive中出现问题的原因。live click事件将处理动态元素。是您的jquery选择器不正确。。。使用$(“选择[name='13-1']”)文档准备就绪时是否调用jquery脚本?e、 g.$(函数(){/*代码*/});是 啊在Chrome中工作,所以不确定IE为什么会给我问题。你可以发布代码的JSFIDLE链接。我只是想确定一切是否都好。IE在处理无效的结构化html等方面存在很大的缺陷。在JSFIDLE示例中,元素不是动态克隆/添加的。我怀疑这是IETheLive中出现问题的原因。live click事件将处理动态元素。是您的jquery选择器不正确。。。使用$(“选择[name='13-1']”)文档准备就绪时是否调用jquery脚本?e、 g.$(函数(){/*代码*/});是 啊在Chrome中工作,所以不确定IE为什么会给我问题。你可以发布代码的JSFIDLE链接。我只是想确定一切是否都好。IE在处理无效的结构化html等问题时非常麻烦。缺少的括号是我文章中的一个输入错误,仍然存在问题我的JSFIDLE在IE7中对你不起作用吗?还是我遗漏了什么?奇怪的是,我的小提琴上出现了一个JS错误——行:169,字符:28,错误:拒绝访问?如果你在IE7中调用上面的url,并在第二个下拉列表中更改该值,你将得到一个警报。如果您在JSFIDLE中点击“Run”,您将得到一个js错误,但我怀疑这与示例有关。我不会依赖IE tester。如果您使用的是windows use virtual pc()或Mac Parallels或VMWare Fusion。缺少的括号是我文章中的一个输入错误,仍然存在问题我的JSFIDLE在IE7中对您不起作用吗?还是我遗漏了什么?奇怪的是,我的小提琴上出现了一个JS错误——行:169,字符:28,错误:拒绝访问?如果你在IE7中调用上面的url,并在第二个下拉列表中更改该值,你将得到一个警报。如果您在JSFIDLE中点击“Run”,您将得到一个js错误,但我怀疑这与示例有关。我不会依赖IE tester。如果您使用的是windows,请使用virtual pc()或Mac上的Parallels或VMWare Fusion。
    
    $(function() {
        $("select[name='13-1']").live('click', function() {
            alert(1);
        });
    });
    
    $orig = $('select');
    
    $orig.clone().attr('name', '13-1').appendTo('body');
    
    $("[name='13-1']").live('click',function() {
        alert(1);
    });