在div标签中通过id获取元素的简单方法? [英] Simple way to get element by id within a div tag?

查看:308
本文介绍了在div标签中通过id获取元素的简单方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

请原谅我,如果我重复这个问题。



我的HTML标签中的所有元素都有不同的id,假设我已经获得了div,有没有简单的方法来获取元素的id,而不用该div迭代所有元素?



这里是我的示例html:

 < div id =div1> 
< input type =textid =edit1/>
< input type =textid =edit2/>
< / div>
< div id =div2>
< input type =textid =edit1/>
< input type =textid =edit2/>
< / div>


解决方案

你可以尝试这样的东西。

样品标记。

 < div id =div1> 
< input type =textid =edit1/>
< input type =textid =edit2/>
< / div>
< div id =div2>
< input type =textid =edit3/>
< input type =textid =edit4/>
< / div>

JavaScript

  function GetElementInsideContainer(containerID,childID){
var elm = {};
var elms = document.getElementById(containerID).getElementsByTagName(*); $ {
for(var i = 0; i< elms.length; i ++){
if(elms [i] .id === childID){
elm = elms [i]
break;
}
}
return elm;
}

演示: http://jsfiddle.net/naveen/H8j2A/



由nnnnnn建议的更好的方法

  function GetElementInsideContainer(containerID,childID){
var elm = document.getElementById(childID);
var parent = elm? elm.parentNode:{};
return(parent.id&& parent.id === containerID)?榆树:{};
}

演示: http://jsfiddle.net/naveen/4JMgF/



调用它像

  var e = GetElementInsideContainer(div1,edit1); 


Please forgive me if I repeat the question.

I have HTML that all elements inside a div tag has different id, suppose I have already get the reference to the div, is there any simple way to get the element by its id without iterate all elements with that div?

here is my sample html:

<div id="div1" >
    <input type="text" id="edit1" />
    <input type="text" id="edit2" />
</div>
<div id="div2" >
    <input type="text" id="edit1" />
    <input type="text" id="edit2" />
</div>

解决方案

You may try something like this.

Sample Markup.

<div id="div1" >
    <input type="text" id="edit1" />
    <input type="text" id="edit2" />
</div>
<div id="div2" >
    <input type="text" id="edit3" />
    <input type="text" id="edit4" />
</div>

JavaScript

function GetElementInsideContainer(containerID, childID) {
    var elm = {};
    var elms = document.getElementById(containerID).getElementsByTagName("*");
    for (var i = 0; i < elms.length; i++) {
        if (elms[i].id === childID) {
            elm = elms[i];
            break;
        }
    }
    return elm;
}

Demo: http://jsfiddle.net/naveen/H8j2A/

A better method as suggested by nnnnnn

function GetElementInsideContainer(containerID, childID) {
    var elm = document.getElementById(childID);
    var parent = elm ? elm.parentNode : {};
    return (parent.id && parent.id === containerID) ? elm : {};
}

Demo: http://jsfiddle.net/naveen/4JMgF/

Call it like

var e = GetElementInsideContainer("div1", "edit1");

这篇关于在div标签中通过id获取元素的简单方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆