javascript - 为什么无法将信息从 html li 标签传输到 jQuery 函数?

标签 javascript jquery html

我尝试将信息从 LI 传输到 jQuery 函数,但未定义:

HTML 代码

"<li id='" + obj[i].ID + "' itemid='"+obj[i].Name+"'>" + obj[i].Name + "</li>";//info from an array name obj, works fine in li.

jquery 代码:

 var array = [];
            var $elem = $(this);
            $elem.each(function (i) {
                $('li', this).each(function (e) {
                    array.push(this.id,this.itemid); // this.id works, **this.item - undefined**                  
                });

我还尝试创建一个特殊属性来将我的信息从 li 传输到 jQuery 函数,但没有变化。(itemid 是 LI 属性)

我错过了什么吗?

最佳答案

使用data-* attributesjQuery .data()

"<li id='" + obj[i].ID + "' data-itemid='"+obj[i].Name+"'>" + obj[i].Name + "</li>";

JavaScript:

var array = [];
var $elem = $(this);
$elem.each(function (i) {
    $('li', this).each(function (e) {
        array.push(this.id, $(this).data('itemid'));
    });

this.itemid 不起作用的原因是它不是有效的 html 属性。使用 data-* 是将数据作为元素属性传递的正确方法。

关于javascript - 为什么无法将信息从 html li 标签传输到 jQuery 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21140633/

相关文章:

javascript - 单击另一个 div 时删除一个 div 上的类

javascript - 将 Accordion 选项卡滑动到浏览器顶部

javascript - Jquery:当不在主页上时更改菜单项地址

javascript - Hyperledger-Composer:无法从事务处理器函数中访问 javaScript split()-函数

javascript - 从 html 'value' 属性中检索值

javascript - 按数据属性和 id 匹配元素

javascript - 通过jQuery.load()加载外部元素后是否可以滚动到 anchor ?

javascript - 使用 Meteor 框架从表单输入中提取数据

javascript - 性能 css 规则与 jQuery .toggleClass

javascript - 在 Django 中使用 'static' 模板导入 css