繁体   English   中英

如何获取变量内html元素的属性值?

[英]How to get value of an attribute of html element inside variable?

我将此代码用于get data-isAirTour属性,但始终未定义。

var tours = $('#WrapTours').find('div.tour');
  var toursTmp;
      var length = tours.length;
                    for (var i = 0; i < length; i++) {
                    if (tours.eq(i).value.data('isForeignTour') == isForeignTour) {
                        toursTmp.push(tours[i]);
                    }
                }

HTML:

<div class="col-sms-6 col-sm-6 col-md-3 tour" data-isAirTour="@item.IsAirTour" data-isForeignTour="@item.IsForeignTour" data-TourType="@item.TourType">
    </div>

如何解决呢?

在此处输入图片说明

tours[i]将返回DOM元素。 要使用.eq(index)获取jQuery对象,要在index处获取对象,则可以使用.attr()类的jQuery方法。

tours.eq(i).attr('data-isAirTour')

除了提出的其他解决方案外,您还可以使用香草JS getAttribute()方法,如下所示:

 var tours = $('#WrapTours').find('div.tour'); for (var i = 0; i < tours.length; i++) { var attr01 = tours[i].getAttribute("data-isAirTour"); console.log(attr01); } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="WrapTours"> <div class="tour" data-isAirTour="yes"></div> </div> 

另外,您可以使用dataset.isairtour (请记住将它们全部用小写字母表示)来达到相同的结果:

 var tours = $('#WrapTours').find('div.tour'); for (var i = 0; i < tours.length; i++) { var attr01 = tours[i].dataset.isairtour; console.log(attr01); } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="WrapTours"> <div class="tour" data-isAirTour="yes"></div> </div> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM