根据Id确定元素类型

Determining Element Type from Id

本文关键字:元素 类型 Id 根据      更新时间:2024-03-05

我有一个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> 

因此,当单击"testDiv"或"testBtn"时,将调用"testElementType()"方法。在这种方法中,我可以通过jquery-$(element).attr("id");获取元素Id,并将其存储在'elemId'

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

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

您不需要在这里使用id值。你将对象传递到函数iself中,所以你需要做的就是:

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

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

有关更多答案,请点击此处

从文档中提取,tagName选择器将返回元素类型,您可以这样使用它。

function testElem(e) {
    var t = e.tagName;
    // Print the tag name
    console.log(t);
}

类似。。。

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

请参阅此演示小提琴

尝试通过id 获取element类型

$("#elementId").get(0).tagName