我正在寻找一种可以从我的页面中获取元素ID的方式:
<div id="events">
<div id="event_1765" class="type_automotive start_125x125 color_Black">
<h3>Leftlane News</h3>
</div>
</div>
我想获取id =“events”但我需要在这个事件所在的脚本中:
$("input.type_check").click(function() {
if($(this).is(':checked')) {
$("#events div."+$(this).attr('id')).removeClass('type_hidden');
$("#events div").not(".type_hidden, .start_hidden, .color_hidden").css("display","block");
} else {
$("#events div."+$(this).attr('id')).addClass('type_hidden');
$("#events div."+$(this).attr('id')).css("display","none");
}
});
所以,换句话说,我想用jquery脚本中的'events'替换动态获取html页面上id元素的代码。
答案 0 :(得分:1)
首先,当你还要上课时,不要使用css()
隐藏它们。您可以在CSS中轻松完成此操作:
div.type_hidden { display: none; }
或根本不使用它。
$("input.type_check").click(function() {
$("div." + this.id).toggle($(this).is(":checked"));
});
此:
不需要“type_hidden”类或css("display", "none")
(你不应该优先使用jQuery效果)。
注意:这一切都假定(来自您的网站):
<input name="type[]" type="checkbox" id="type_automotive"
value="automotive" class="type_check" checked="checked" />
和
<div id="events">
<div id="event_1768" class="type_automotive start_300x250 color_Black">
<h3>Autoblog</h3>
</div>
</div>
答案 1 :(得分:0)
嗯,在这种情况下你需要一些“选择器”。你怎么找到它?它总是在其他“独特”的东西中的第一个div吗?它有特殊课吗?你需要一些独特的方法来定位它。
答案 2 :(得分:0)
我不确定我是否理解这个问题,但我认为你想在检查输入时隐藏相应的div。另外,查看您的html-每页应该只有1个唯一ID。您应该将id =“events”更改为class =“events”。一旦你这样做,我认为你要求的javascript是:
$("input.type_check").click(function() {
if($(this).is(':checked')) {
$surroundingDiv = $("div." + $(this).attr('id')).parent().removeClass('type_hidden');
$('div.events').not(".type_hidden, .start_hidden, .color_hidden").css("display","block");
} else {
$("div."+$(this).attr('id')).parent().addClass('type_hidden');
$("div."+$(this).attr('id')).parent().css("display","none");
}
});
此外,不是设置类“type_hidden”,而是使用javascript隐藏/显示它,我只在CSS中执行一次。