我是谁或我如何知道我正在处理哪个元素?

时间:2011-03-21 13:52:43

标签: javascript jquery

哎, 看看这段代码:

$("li,p").click(function(){

   // how do I perform a test, and know wich Element it is ?

   if( /* I'm a <li/> */ )
       // Do this for the <li/>

   if( /* I'm a <p/> */ )
       // Do this for the <p/>
})

谢谢你们^^

4 个答案:

答案 0 :(得分:6)

一种选择是使用is()方法:

$("li,p").click(function(){

   // how do I do I perform a test, on wich Element it is ?

   if($(this).is('li'))
       // Do this for the <li/>

   if($(this).is('p'))
       // Do this for the <p/>
})

答案 1 :(得分:3)

您正在寻找this.nodeName

你也可以写

if (jQuery.nodeName(this, 'p'))

答案 2 :(得分:1)

Live Demo

$("li,p").click(function(){
    if(this.tagName.toLowerCase() == "p"){
       alert("PP!");
    }else if(this.tagName.toLowerCase() == "li"){
        alert("list!");
    }
})

答案 3 :(得分:1)

使用is()功能

$("li,p").click(function(){         

    if( $(this).is('li') )        
        // Do this for the <li/>     
    if( $(this).is('p') )        
        // Do this for the <p/> 
});