Javascript Jquery在触发器中切换范围文本
我想我很快就能弄明白了。我不熟悉javascript,但我的情况是这样的 默认情况下,我隐藏了一些列表。单击标题将显示列表。我希望标题中的范围从“+”更改为“-”,以分别隐藏和显示 我遇到的问题是两个标题的范围都发生了变化,而不仅仅是单击的标题Javascript Jquery在触发器中切换范围文本,javascript,jquery,Javascript,Jquery,我想我很快就能弄明白了。我不熟悉javascript,但我的情况是这样的 默认情况下,我隐藏了一些列表。单击标题将显示列表。我希望标题中的范围从“+”更改为“-”,以分别隐藏和显示 我遇到的问题是两个标题的范围都发生了变化,而不仅仅是单击的标题 <div> <h3 class = "trigger"><span>+</span>Heading 1</h3> <ul class = "toggle">
<div>
<h3 class = "trigger"><span>+</span>Heading 1</h3>
<ul class = "toggle">
<li>Line One</li>
<li>Line Two</li>
<li>Line Three</li>
</ul>
</div>
<div>
<h3 class = "trigger"><span>+</span>Heading 2</h3>
<ul class = "toggle">
<li>Line One</li>
<li>Line Two</li>
<li>Line Three</li>
</ul>
</div>
下面是一个您需要特别告诉javascript只隐藏与该标题相关的span 一种方法是:)
您需要明确地告诉javascript只隐藏与该头相关的span 一种方法是:) 试试这个:
$(".trigger").click(function(){
var trigger = $(this);
$(this).next(".toggle").slideToggle(function(){
trigger.children('span').text(
$('.toggle').is(':visible') ? '-' : '+');
});
});
试试这个:
$(".trigger").click(function(){
var trigger = $(this);
$(this).next(".toggle").slideToggle(function(){
trigger.children('span').text(
$('.toggle').is(':visible') ? '-' : '+');
});
});
试试看:
$(".trigger").click(function(){
var $this = $(this);
$this.next(".toggle").slideToggle(function(){
$this.find("span").text($(this).is(':visible') ? '-': '+');
});
});
演示:尝试:
$(".trigger").click(function(){
var $this = $(this);
$this.next(".toggle").slideToggle(function(){
$this.find("span").text($(this).is(':visible') ? '-': '+');
});
});
演示:您非常接近:)下面是更新(有多种方法可以实现它)。如果访问$('span')
内部的滑动切换
,您将访问所有跨距,这就是为什么它会同时更改这两个跨距。您只需要从单击的标题访问范围,因此必须遍历返回到它
$(".trigger").click(function(){
$(this).next(".toggle").slideToggle(function(){
$(this).prev().children('span').text(
$('.toggle').is(':visible') ? '-' : '+');
});
});
您非常接近:)这是更新(有多种方法可以实现它)。如果访问$('span')
内部的滑动切换
,您将访问所有跨距,这就是为什么它会同时更改这两个跨距。您只需要从单击的标题访问范围,因此必须遍历返回到它
$(".trigger").click(function(){
$(this).next(".toggle").slideToggle(function(){
$(this).prev().children('span').text(
$('.toggle').is(':visible') ? '-' : '+');
});
});
在jQuery中使用时。运算符您要求jQuery使用一个toggle类获取所有DOM元素。如果您想更改一个id,可以请求一个特定的id。唯一地命名它们,并使用$(“#IDHERE”)进行访问,您将得到一个要更新的id,另一个将保持不变。在jQuery中,当您使用。运算符您要求jQuery使用一个toggle类获取所有DOM元素。如果您想更改其中一个,您可以要求指定一个特定的id。唯一地命名它们,并使用$(“#IDHERE”)访问它们,您将得到一个更新,另一个将保持不变。感谢您的解释,它为我澄清了问题。我能理解它为什么这样做,我只是不知道如何抓住我点击的东西的孩子。谢谢你的解释,它为我澄清了一切。我能理解它为什么这么做,我只是不知道如何抓住我点击的东西的孩子。嗨,凯文,你知道为什么下面的方法不起作用吗非常感谢。嗨,凯文,你知道为什么下面的方法不起作用吗非常感谢。