我的jquery代码有问题:
<ul class="category-titles">
<li><a id="category-title" href="">Test</a>
</li>
<li><a id="category-title" href="">Test 2</a>
</li>
<li><a id="category-title" href="">Test 3</a>
</li>
</ul>
<div class="toolbar">
<h1 id="results-title">Test</h1>
</div>
$('.category-titles > li > a').mouseover(function() {
var strTitle = $('.category-titles > li > a', this).text();
$("#results-title").html(strTitle);
console.log(strTitle);
});
这是一个链接:http://jsfiddle.net/irider89/Ltd1fp79/6/ 在鼠标输入时,标题应重命名为li标题。
答案 0 :(得分:3)
当您将事件绑定到锚点时,this
引用锚元素。所以只需使用
var strTitle = $(this).text();
而不是
var strTitle = $('.category-titles > li > a',this).text();
重要提示: ID是唯一标识符
答案 1 :(得分:1)
如果您在mouseover
元素上捕获.category-titles > li > a
个事件,则this
会引用这些选定的元素。只需使用$(this).text()
即可获取悬停元素的文本。
答案 2 :(得分:1)
只需引用$(this)
,而不是:
$('.category-titles > li > a').mouseover(function(){
var strTitle = $('.category-titles > li > a',this).text();
$("#results-title").html(strTitle);
console.log(strTitle);
});
使用此:
$('.category-titles > li > a').mouseover(function(){
var strTitle = $(this).text();
$("#results-title").html(strTitle);
console.log(strTitle);
});
答案 3 :(得分:1)
更改此行:
var strTitle = $('.category-titles > li > a',this).text();
到此:
var strTitle = $(this).text();
由于您的活动已经绑定到'.category-titles > li > a'
,this
会引用触发该活动的链接。