Javascript jQuery显示隐藏查找下一个元素远近
这个show-hide函数尝试匿名执行此操作,而不需要为目标div维护唯一的id 我很难理解为什么我的Javascript jQuery显示隐藏查找下一个元素远近,javascript,jquery,jquery-selectors,show-hide,Javascript,Jquery,Jquery Selectors,Show Hide,这个show-hide函数尝试匿名执行此操作,而不需要为目标div维护唯一的id 我很难理解为什么我的var div选择器在示例4中不起作用,以及我如何才能使它在所示的所有示例中都起作用 $('.expander')。单击(函数(e) { e、 预防默认值(); var div=$(this.nextAll('div.content').first(); 如有需要(分区) { 如果(div.css('display')=“无”) { div.show(); $(此).removeClass(“已
var div
选择器在示例4中不起作用,以及我如何才能使它在所示的所有示例中都起作用
$('.expander')。单击(函数(e)
{
e、 预防默认值();
var div=$(this.nextAll('div.content').first();
如有需要(分区)
{
如果(div.css('display')=“无”)
{
div.show();
$(此).removeClass(“已关闭”);
$(此).addClass(“打开”);
}
其他的
{
隐藏分区();
$(此).removeClass(“打开”);
$(此).addClass(“已关闭”);
}
}
});
显示内容
隐藏内容
其他内容
隐藏内容
内容
前三个例子效果很好。但是,当我部署这段代码时,我发现锚的编码方式存在差异。我正在寻找一个解决方案,无论锚是如何封装的
底线是我想选择锚定的下一个div.content,不管它是下一个,还是jQuery必须在DOM树上走一走才能找到它
我有一个这个代码的工作模型。因为你锚定的
嵌套在一个span
中,而span又嵌套在一个ptag
在例子4中,这是没有意义的
var div=$(this.nextAll('div.content').first()代码>
对于示例#4您需要此选择器
var div = $(this).closest('p').nextAll('div.content').first();
我在父树上找到了这个函数,直到看到下一个目标div
var div = $(this).nextAll('div.content').first();
if (div.length == 0)
{
div = $(this).parentsUntil('body').nextAll('div.content').first();
}
我真的不喜欢有条件的,但除非我找到更优雅的东西,否则我会坚持使用它。我在网站范围内使用这个,在锚定标记的编码方式上有所不同。您的示例可能有效,但它特定于P
标记。我希望有一个方法来编码,使其适用于所有人,而不仅仅是这个特殊情况。。。因为,坦白说,还有其他特殊情况。例如,无序列表中的锚定标记和div等。我希望知道post.ahhh中HTML的语法着色有什么问题。我在帖子中找到了语法颜色。:)