Hen*_*rro 7 html javascript jquery
我有一些类似的文字("更多关于我们"),当我再次点击时点击并更改后,我已将其更改为另一个("减去我们").但现在我需要一个解决方案,当我点击一个(例如第一行,只有一次),然后点击另一个(这次是第二行),第一行(现在显示"少关于我们")改回"更多关于我们"虽然第二行仍然改为"少关于我们".
HTML
<span class="more">More about us</span><br/><br/>
<span class="more">More about us</span><br/><br/>
<span class="more">More about us</span><br/><br/>
<span class="more">More about us</span><br/><br/>
<span class="more">More about us</span>
Run Code Online (Sandbox Code Playgroud)
JS
$('.more').click(function() {
var s = $(this);
s.html(s.text() == 'More about us' ? 'Less about us' : 'More about us');
});
Run Code Online (Sandbox Code Playgroud)
将您的Javascript更改为:
$('.more').click(function() {
var s = $(this);
var originaltext= s.text();
$('.more').text('More about us');
s.text(originaltext);
s.html(s.text() == 'More about us' ? 'Less about us' : 'More about us');
});
Run Code Online (Sandbox Code Playgroud)
它做了什么:
text
当前单击的跨度.看小提琴:" http://jsfiddle.net/HFcvH/35/ "
编辑:这也可以使用.siblings()
如下完成:
$('.more').click(function() {
var s = $(this);
$(this).siblings().each(function() {
$(this).text('More about us');
});
s.html(s.text() == 'More about us' ? 'Less about us' : 'More about us');
});
Run Code Online (Sandbox Code Playgroud)
说明:这将遍历当前元素的所有兄弟节点并重置其文本.
看小提琴:" http://jsfiddle.net/ee24gcdj/1/ "
它可以进一步减少使用(感谢Ted Nyberg提供的信息):
$(this).siblings().text('More about us')
Run Code Online (Sandbox Code Playgroud)