Jquery在触发器中切换跨度文本
Jquery toggle span text in trigger
我想我已经快要弄清楚了。我是javascript的新手,但这是我的情况。
我默认情况下隐藏了一些列表。单击标题显示列表。我希望页眉中的跨度从"+"变为"-",以分别隐藏和显示。
我遇到的问题是两个标题的跨度都发生了变化,而不仅仅是被点击的那个。
<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。
$(".trigger").click(function(){
$(this).next(".toggle").slideToggle(function(){
$('span').text(
$('.toggle').is(':visible') ? '-' : '+');
});
});
这是一个jsfiddle
试试这个:
$(".trigger").click(function(){
var trigger = $(this);
$(this).next(".toggle").slideToggle(function(){
trigger.children('span').text(
$('.toggle').is(':visible') ? '-' : '+');
});
});
您需要特别告诉javascript只隐藏与该标头相关的span
http://jsfiddle.net/sWvbq/5/
一种方法是:)
$(".trigger").click(function(){
var _that = $(this); // remember parent
$(this).next(".toggle").slideToggle(function(){
_that.find('span').text( // only toggle span related to parent
$('.toggle').is(':visible') ? '-' : '+');
});
});
尝试:
$(".trigger").click(function(){
var $this = $(this);
$this.next(".toggle").slideToggle(function(){
$this.find("span").text($(this).is(':visible') ? '-': '+');
});
});
演示:http://jsfiddle.net/N8YVD/
您非常接近:)这是更新jsfiddle(有多种方法可以实现)。如果您在slideToggle
中访问$('span')
,您将访问所有跨度,这就是它同时更改这两个跨度的原因。你只需要访问点击标题的跨度,所以你必须遍历回它
$(".trigger").click(function(){
$(this).next(".toggle").slideToggle(function(){
$(this).prev().children('span').text(
$('.toggle').is(':visible') ? '-' : '+');
});
});
在jQuery中使用。操作符中,您正在请求jQuery获取带有CLASS of toggle的所有DOM元素。如果你想更改其中一个,你可以要求一个特定的id。唯一地命名它们,并使用$("#IDHERE")访问,你会得到一个更新,另一个保持不变。
相关文章:
- 如何使用jquery在填充自动完成的值后使文本框只读
- 使用Clipboard.js复制span文本
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 用程序搜索JQuery数据表中的文本
- jQuery匹配JSON对象的部分文本
- onkeyup无法动态创建多个文本区域
- 如何在下面的ES6循环中获得前面的文本
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- JavaScript 触发器事件在 Android 上选择文本
- 在克隆带有文本框的 html 行时,新文本框的触发器
- 已选择:已更新触发器阻止文本在输入中呈现
- 文本框 - 触发器.创建查询
- 如何使用jquery从文本框中获取数据和触发器函数
- Jquery在触发器中切换跨度文本
- 在Jquery UI对话框中基于触发器锚点的文本创建动态按钮名称
- jQuery触发器键代码Ctrl+Shift+z&在wysiwyg文本区域中按Ctrl+z
- jQuery触发器()与keydown/up事件的文本区域
- 在"ReadMore…"内连接文本触发器
- 触发器.Io:自动完成文本框不工作
- 是否可以在输入中的键入文本上设置鼠标悬停触发器