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

发布于 2024-12-02 10:17:55 字数 610 浏览 1 评论 0原文

我有一些克隆 HTML Select 元素的代码。克隆工作正常。

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

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

原始元素:

<select name="13">
    <option>Value 1
    <option>Value 2
</select>

克隆元素:

<select name="13-1">
    <option>Value 1
    <option>Value 2
</select>

我尝试这样做:

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

这在 Chrome 中有效,但在 IE7 中不起作用。

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

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

I have some code which clones a HTML Select element. The cloning works fine.

The cloned elements will have an id={original_element_id}-1

After the element is cloned, in IE7 I am unable to select the element. For example:

Original element:

<select name="13">
    <option>Value 1
    <option>Value 2
</select>

Cloned Element:

<select name="13-1">
    <option>Value 1
    <option>Value 2
</select>

I try this:

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

This works in Chrome, but in IE7 it doesnt work.

How do I select the dynamically created element in IE7 ?

I am using Jquery 1.4.2, I have tried 1.4.3, 1.4.1, 1.4.0, 1.6.2

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

仅此而已 2024-12-09 10:17:56

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

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

链接:http://jsfiddle.net/LE9Ed /

更新

动态html:http://jsfiddle.net/LE9Ed/1/

I have tested my version IE7 and working fine, change your script to the following:

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

Link : http://jsfiddle.net/LE9Ed/

UPDATE

Dynamic html : http://jsfiddle.net/LE9Ed/1/

海的爱人是光 2024-12-09 10:17:56
$orig = $('select');

$orig.clone().attr('name', '13-1').appendTo('body');

$("[name='13-1']").live('click',function() {
    alert(1);
});
  1. 这是一个工作示例: http://jsfiddle.net/B5m6F/5/
  2. 另外还缺少一个括号您在哪里使用 name 属性
$orig = $('select');

$orig.clone().attr('name', '13-1').appendTo('body');

$("[name='13-1']").live('click',function() {
    alert(1);
});
  1. Here's a working example: http://jsfiddle.net/B5m6F/5/
  2. Also there's a missing bracket where you're using the name attribute
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文