[英]How to get value of an attribute of html element inside variable?
I use this code for get data-isAirTour
attribute but always is undefined. 我将此代码用于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: 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>
How to solve this? 如何解决呢?
tours[i]
will return DOM element. tours[i]
将返回DOM元素。 To get jQuery object use .eq(index)
, to get the object at index then you can use jQuery methods like .attr()
要使用
.eq(index)
获取jQuery对象,要在index处获取对象,则可以使用.attr()
类的jQuery方法。
tours.eq(i).attr('data-isAirTour')
Apart from the other proposed solutions, you can also use the vanilla JS getAttribute()
method, like so: 除了提出的其他解决方案外,您还可以使用香草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>
Alternatively, you can use dataset.isairtour
(remember to keep it all in lowercase) to achieve the same result: 另外,您可以使用
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.