说实话,我不是很擅长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
答案 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>
$(".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;