从Id确定元素类型

时间:2015-02-21 15:35:32

标签: javascript jquery

我有一个javascript方法 - testElement()onclick事件上调用 -

<script type = "text/javascript">

    function testElementType(element){

        var elemId = $(element).attr("id");
        //Can I determine the 'element' from the 'elemId' ?

        // if element is div - do something
        // if element is button - do another thing

    }

</sccript>

现在考虑以下代码 -

<div onclick="testElementType(this);" id="testDiv" > Test Div </div>
... 
<button onclick="testElementType(this);" id="testBtn" > Test Button </button> 

所以,当测试任何一个&#39;或者&#39; testBtn&#39;单击,然后调用&#39; testElementType()方法。在这个方法中,我可以通过jquery获取元素Id - $(element).attr("id");并将其存储在'elemId'

有没有办法找到div中元素的类型(即 - 是button还是'elemId')?

我在实践中知道大多数情况我们不必担心元素类型。因为如果想做两种不同类型的任务,我们可以为两种类型的元素调用不同的函数。

5 个答案:

答案 0 :(得分:3)

您无需在此处使用id值。您将对象传递给函数本身,所以您需要做的就是:

function testElementType(element){
    var tag = element.tagName;
    if(tag=='DIV') // its a div
    if(tag=='BUTTON') // its a button
}

答案 1 :(得分:1)

如果elementId是按钮,则使用jquery $("#elementId").is("button")将返回。

for more answer here

答案 2 :(得分:1)

取自docstagName选择器将返回元素类型,您可以像这样使用它。

function testElem(e) {
    var t = e.tagName;

    // Print the tag name
    console.log(t);
}

答案 3 :(得分:1)

像...一样的东西。

function testElementType(element){
    var id = $(element).attr('id'),
        tag = $(element).prop("tagName");
});

请参阅this demo fiddle

答案 4 :(得分:0)

尝试通过element

获取id类型
$("#elementId").get(0).tagName