使用jquery检索li父标题属性

时间:2012-09-07 17:42:44

标签: jquery

我试图使用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>

4 个答案:

答案 0 :(得分:1)

标题在父级中不存在,而是存在于当前元素中,因此使用$(this).attr('title') 试试这个,

Live Demo

$('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(){
    });​

JS Fiddle demo

略微修改上述内容:

$('ul > li > ul > li a').hover(
    function(){
        var whatami = $(this).closest('ul').prev('a').attr('title');
        if (whatami == 'About Us') {
            alert(whatami);
        }
    },
    function(){
    });​

JS Fiddle demo

答案 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');
    

    Demo