无法更改文本()值

问题描述:

<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

+0

这是正确的,但它不是OP代码的唯一问题。您还需要移动'return'语句。 –

您需要传递text()值作为参数。像这样:

$('#search-item .text').text($(this).text()); 

执行此操作:

$('#search-item .text').html($(this).text());