无法更改文本()值
问题描述:
<div class="search_on" id="search-item">
<span class="text">one</span>
</div>
<ul class="search_item" style="display: none;">
<li><a href="#">one</a></li>
<li><a href="#">two</a></li>
<li><a href="#">three</a></li>
</ul>
jQuery代码:无法更改文本()值
$('.search_item li a').click(function() {
$('#search-item .text').text() = $(this).text();
return false;
$('ul.search_item').hide();
});
我想:当用户点击a
链接,在li
标签,然后在<span class="text">one</span>
值更改为值在一个标签中。为什么上面的代码不起作用?
答
变化
$('#search-item .text').text() = $(this).text();
到
$('#search-item .text').text($(this).text());
与.text() = $(this).text()
你正在尝试设置它像一个属性,但它是一个函数,所以你需要调用它像.text($(this).text())
答
更改声明
$('#search-item .text').text() = $(this).text();
到
$('#search-item .text').text($(this).text());
和移动return false
声明,$('ul.search_item').hide();
后,如果您想设置文本后隐藏ul.search_item
。
答
您需要传递text()
值作为参数。像这样:
$('#search-item .text').text($(this).text());
答
执行此操作:
$('#search-item .text').html($(this).text());
这是正确的,但它不是OP代码的唯一问题。您还需要移动'return'语句。 –