[英]How to get a value from inside of an element in HTML and set it as variable in JS
[英]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.