用主div文本替换单击的项目(jQuery)

时间:2015-02-05 15:57:04

标签: jquery html click

说实话,我不是很擅长jquery,所以也许我会在这里找到帮助。但是,我的代码确实有效,但它只能运行一次。当我试图再次点击时 - 没有任何反应。

HTML

<li class="selected">All numbers</li>

<br/>

<li class="item">1</li>
<li class="item">2</li>
<li class="item">3</li>

的jQuery

$("li.item").click(function() {
  $("li.selected").replaceWith($(this).text());
});

问题:

如何让这个脚本一直工作,而不仅仅是一次?正如我之前所说的,我对jquery并不擅长,我无法找到解决此问题的正确方法。

的jsfiddle

http://jsfiddle.net/yLgx6xxo/

1 个答案:

答案 0 :(得分:2)

设置text()而不是&#39;替换div&#39;。

您的示例没有工作的原因是因为您要替换:

 <li class="selected">All numbers</li>

 1

所以当你来替换下一个时,jquery没有找到"selected" div,所以没有发生替换。


改为使用text()代替实际的文字&#39; div的一部分,

相反,

 <li class="selected">All numbers</li>

变为

 <li class="selected">1</li>

DEMO

&#13;
&#13;
$(".item").click(function() {
  $("li.selected").text($(this).text());
});
&#13;
li.selected, li.item { list-style-type: none; }
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li class="selected">All numbers</li>

<br/>

<li class="item">1</li>
<li class="item">2</li>
<li class="item">3</li>
&#13;
&#13;
&#13;