javascript – 数据属性返回undefined

前端之家收集整理的这篇文章主要介绍了javascript – 数据属性返回undefined前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用jQuery在onClick上设置数据属性filtername,工作正常.
$('#tag-group ul').append('<li><i class="fa fa-times" aria-hidden="true" data-filtergroup="'+filterGroup+'" data-filtername="'+filterName+'"></i>'+text+'</li>');

它在屏幕上显示为ok

<li><i class="fa fa-times" aria-hidden="true" data-filtergroup="location" data-filtername="Melbourne"></i> Melbourne</li>

然后我试图在另一个onClick上再次拿起它,但它会以未定义的形式返回.当我控制log $(this).text();它工作,但当我控制日志$(这).data(‘filtername’);它是未定义的.如果它是由jQuery生成的,dom是否会隐藏它?

$(document).on('click','#sau-filter-tags ul li',function(event){
            var text = $(this).text();
            var filterName = $(this).data('filtername');
            console.log(filterName);  //Undefined
        });

解决方法

filtername是li中i标签属性.

你需要选择i标签

$(document).on('click','#sau-filter-tags ul li i',function(event) {
  var text = $(this).text();
  var filterName = $(this).data('filtername');
  console.log(filterName); //Undefined
});

或者你需要将事件附加到li并在此找到我,例如:

$(本).find( ‘I’).数据( ‘FILTERNAME’)

猜你在找的JavaScript相关文章