jquery attr 在 Chrome 中不起作用?

标签 jquery google-chrome attr

var select_tag = $('<select></select>').attr( {
    onchange: 'createDiscipline()',
    class: 'select_menu'}
).fadeIn('slow');

这适用于 FF,但不适用于 Chrome。 Chrome 中发生的情况是,类已设置,但 createDisicipline() 未设置。

这是向标签添加多个属性的错误方法吗?它在 FF 中有效:/

完整代码:

var select_tag = $('<select>', {
                    onchange: createDiscipline,
                    'class': 'select_menu'}
                ).fadeIn('slow');
            for(i = 0; i < c_data.length; i++) {
                select_tag.append('<option>' + c_data[i] + '</option>');
            }

            //wrap select_tag in div
            var div_buffer = $('<div class=\'select_buffer\'></div>');
            var div_container = $('<div class=\'select\'></div>');
            div_buffer.append(select_tag).wrap('<div class=\'select_buffer\' />');
            div_container.append(heading);
            div_container.append(div_buffer);

            //Append to the page after right_content id
            $('#right_content').append(div_container)

最佳答案

您绝对不应该尝试绑定(bind)这样的事件处理程序。以不引人注目的方式进行:

var select_tag = $('<select>', {
    change:  createDiscipline,
    'class': 'select_menu'
}).appendTo(document.body).fadeIn('slow');

请注意我的更改。我包裹了class用引号引起来,因为它是 InternetExplorer 中的关键字,否则可能会破坏您的代码。我还附加了新创建的 <select>节点到 document.body。

演示:http://jsfiddle.net/vM5Hp/

关于jquery attr 在 Chrome 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5044912/

相关文章:

google-chrome - Chrome45 和 Firefox - 大多数网站上的 ERR_SSL_FALLBACK_BEYOND_MINIMUM_VERSION

javascript - JQuery - 根据元素 innerHTML 更改 attr

jquery - 如何使用jquery获取选项标题="sample"

javascript - TouchSwipe距离重置

jquery - 使用 jquery 代替 CURL 和身份验证

google-chrome - (idle)在Google Chrome DevTools Profiler中是什么意思?

r - 当我使用函数创建 R data.frame 时,如何向 R data.frame 添加属性?

javascript - 如何在 javascript 中获取数据属性 - 不适用于 ios safari 浏览器

php - 我如何为多个 id 系列为其依赖 id 系列编写单个 jquery 函数?

google-chrome - SSRS 报告滚动问题