我试图使用jquery获取li的父标题。下面是我的jQuery和html。如果我悬停Sub 1,2或3,我想提醒父母的标题是“关于我们”
JQUERY
$('a').hover(function(e) {
var whatami = $(this).parent('a').attr('title');
if(somethingnew == "About Us") {
alert(whatami);
}
else {
//Do nothing
}
});
HTML
<ul>
<li><a href="" title="Home">Home</a></li>
<li><a href="" title="About Us">About Us</a>
<ul>
<li><a href="" title="Sub 1">Sub 1</a></li>
<li><a href="" title="Sub 2">Sub 2</a></li>
<li><a href="" title="Sub 3">Sub 3</a></li>
</ul>
</li>
</ul>
答案 0 :(得分:1)
标题在父级中不存在,而是存在于当前元素中,因此使用$(this).attr('title')
试试这个,
$('a').hover(function(e) {
var whatami = $(this).attr('title');
//alert(whatami );
if(whatami == "About Us") {
alert(whatami);
}
else {
//Do nothing
}
});
答案 1 :(得分:1)
一种有效的方法是:
$('ul > li > ul > li a').hover(
function(){
var whatami = $(this).parents('li').eq(1).find('a[title]:first').attr('title');
if (whatami == 'About Us') {
alert(whatami);
}
},
function(){
});
略微修改上述内容:
$('ul > li > ul > li a').hover(
function(){
var whatami = $(this).closest('ul').prev('a').attr('title');
if (whatami == 'About Us') {
alert(whatami);
}
},
function(){
});
答案 2 :(得分:0)
正如Adil所说,你的HTML标题属性属于,所以也许你的意思是每个li标签的孩子。如果你的意思是将鼠标悬停在
$('li').hover(function(){
var theTitle = $(this).find('a').attr('title');
//do stuff
});
答案 3 :(得分:0)
var whatami = $(this).closest('ul').closest('li').find('> a').attr('title');