如果按下div,我需要从div中获取值1或2。我已经制作了一个脚本,在按下时将其设置为激活,但是如果按下第一个div,我似乎无法找到如何提取值1。 HTML值属性仅用于输入元素,在这种情况下,我希望它在div上。这怎么可能?
的实施例
<div class="booking_search_cat darkgrey active">
<p>Group room</p>
</div>
<div class="booking_search_cat lightgrey">
<p>Lecture room</p>
</div>
答案 0 :(得分:2)
您只需在类别中添加data-*
属性:
<div class="booking_search_cat darkgrey active" data-category="1">
<p>Group room</p>
</div>
<div class="booking_search_cat lightgrey" data-category="2">
<p>Lecture room</p>
</div>
现在,您所要做的就是在点击事件中提取该信息。
$('.booking_search_cat').on('click',function(){
var categoryId = $(this).data('category');
console.log(categoryId);
});
答案 1 :(得分:1)
这样的事情可以解决问题:
<div class="booking_search_cat darkgrey active" data-value='group_room'>
<p>Group room</p>
</div>
<div class="booking_search_cat lightgrey" data-value='lecture_room'>
<p>Lecture room</p>
</div>
<script type='text/javascript'>
var $booking_search = $(".booking_search_cat");
$booking_search.click(function(){
$booking_search.filter(".active").removeClass("active");
$(this).addClass("active");
alert("The value is "+$(this).data("value"));
});
</script>
答案 2 :(得分:1)
您可以使用data-val
属性。 Fiddle here
<div class="booking_search_cat darkgrey active" data-val='1'>
<p>Group room</p>
</div>
<div class="booking_search_cat lightgrey" data-val='2'>
<p>Lecture room</p>
</div>
$(".booking_search_cat").click(function(){
alert($(this).data('val'));
});
答案 3 :(得分:1)
使用数据属性
<div data-val="1" ...
和
$(".bookingsearch").on("click",function() {
$.post("someserverthing",{parm:$(this).data("val")},function(data) {
alert(data);
}
});
答案 4 :(得分:1)
您可以使用index()
函数来确定单击了哪个元素 -
$('.booking_search_cat').on('click',function(){
var categoryId = $(this).index('.booking_search_cat');
console.log(categoryId);
});
index()
函数返回(如名称所示)元素的索引。文档说明了返回值 -
如果选择器字符串作为参数传递,则.index()返回一个整数,指示jQuery对象中第一个元素相对于选择器匹配的元素的位置。如果找不到该元素,.index()将返回-1。
答案 5 :(得分:0)