美好的一天。
我在jQuery中使用以下click函数
$(function () {
$("#areas ul a").click(function (event) {
event.preventDefault();
$("#areas ul li a").removeClass('activeAreas');
$(this).addClass('activeAreas');
$(".hidden").hide(200);
$($(this).attr("href")).show(500)
});
});
我想做的是在那个循环中,检查特定元素是否有效,然后对此采取行动:
例如
$("#areas ul a").click(function (event) {
event.preventDefault();
$("#areas ul li a").removeClass('activeAreas');
$(this).addClass('activeAreas');
$(".hidden").hide(200);
$($(this).attr("href")).show(500)
//I'm adding this... but it is not working
if($(this).attr(href) = 'pretoriaDetail'){
alert('it works');
}
});
如何使if语句起作用??
由于
答案 0 :(得分:2)
如果您想检查class
是否适用于DOM,则.hasClass
会有所帮助。
正式文件:http://api.jquery.com/hasClass/
还有一件事在您的代码中出现错误。
if($(this).attr(href) = 'pretoriaDetail'){
alert('it works');
}
必须是
if($(this).attr("href") == 'pretoriaDetail'){
alert('it works');
}
因为=
做的是为==
分配值,而{{1}}比较它,而href必须包含在引号中。
答案 1 :(得分:1)
$(function () {
$("#areas ul a").click(function (event) {
event.preventDefault();
if(!$(this).hasClass('activeAreas')){
$("#areas ul li a").removeClass('activeAreas');
$(this).addClass('activeAreas');
$(".hidden").hide(200);
$($(this).attr("href")).show(500);
}
});
});
答案 2 :(得分:0)
我想你应该试试这个:
var ID = $(this).attr("href");
$('#'+ID).show(500);
Declare a variable and use it as an id.
然后这应该是这样的:
$(function () {
$("#areas ul a").click(function (event) {
var ID = $(this).attr("href");
event.preventDefault();
$("#areas ul li a").removeClass('activeAreas');
$(this).addClass('activeAreas');
$(".hidden").hide(200);
$('#'+ID).show(500); // or this way $('[id="'+ID+'"]').show(500);
});
});