Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 特定div的document.getElementById类函数_Javascript_Jquery - Fatal编程技术网

Javascript 特定div的document.getElementById类函数

Javascript 特定div的document.getElementById类函数,javascript,jquery,Javascript,Jquery,document.getElementById将搜索整个文档并返回结果,但在这里,我希望对特定div使用与搜索特定div的id相同的函数,并基于该函数执行 这是我的密码 if(document.getElementById('myId') ) // but it return the result from whole div { // Do something } else { // do something else } 我想要像这样的东西 if(document.getElem

document.getElementById将搜索整个文档并返回结果,但在这里,我希望对特定div使用与搜索特定div的id相同的函数,并基于该函数执行

这是我的密码

if(document.getElementById('myId') ) // but it return the result from whole div 
{
  // Do something
}
else {
  // do something else
}
我想要像这样的东西

if(document.getElementById('myId') in specific div) \\ how to do this

比方说,您正在id为“parentId”的父div中查找id为“childId”的元素(div)。Jquery代码应该是:

$("#parentId").find("#childId") 
作为一个缩写,你甚至可以

$("#parentId #childId") 
由于上述语句将在任何深度查找子对象,如果您希望直接进行子对象搜索,(第一级子对象)

通常,ID在页面中是唯一的(建议至少为:)。在这种情况下,你可以直接做

$("#childId")  
并且仍然得到子元素


无论哪个应用。

id属性都应该是唯一的,因此在另一个元素中搜索具有id的元素与直接在整个DOM中搜索该id是一样的。

如果元素是特定元素的子元素,则可以使用querySelector返回该元素:

document.getElementById('evalBar').querySelector('#button_2');
/*返回值:(html按钮) [对象HTMLButtoneElement]
*/您可以使用querySelector函数。重要提示:检查浏览器兼容性!

例如:

        <div id="foo">
            <div id="bar">
                this is foo-bar
            </div>
        </div>

        <script>
            var bar = document.querySelector("#foo #bar")

            alert(bar.innerHTML); // result: alert message "this is foo-bar"
        </script>

这是福吧
var bar=document.querySelector(“#foo#bar”)
警报(bar.innerHTML);//结果:警报消息“这是foo bar”

您想为所有
div

我假设您知道要搜索的
id

您可以像这样生成
文档.getElementsByTagName('div')

var myID = 4;

for (var i = 0; i < document.getElementsByTagName('div').length; i++){
    var res = document.getElementsByTagName('div')[i+1].id;
    if(res == myID){
        document.body.innerHTML = res;
        break;
    }
}

请参见

id
属性应该是唯一的,因此在另一个div中按
id
搜索应该是不相关的。您是否正在寻找具有给定id的“myId”子div?@rorymcrossan-这并不是完全不相关的。应该没有id DUP,但有时您只希望返回id在特定容器中的元素,因此“#parent#child”选择器有时可以是您想要的。
var myID = 4;

for (var i = 0; i < document.getElementsByTagName('div').length; i++){
    var res = document.getElementsByTagName('div')[i+1].id;
    if(res == myID){
        document.body.innerHTML = res;
        break;
    }
}
<div id="1"></div>
<div id="2"></div>
<div id="3"></div>
<div id="4"></div>
<div id="5"></div>
<div id="6"></div>
<div id="myId">
    <div id="1"></div>
    <div id="2"></div>
    <div id="3"></div>
    <div id="4"></div>
    <div id="5"></div>
    <div id="6"></div>
</div>
var myID = 3;

for (var i = 0; i < document.getElementById('myId').getElementsByTagName('div').length; i++){
    var res = document.getElementsByTagName('div')[i+1].id;
    if(res == myID){
        document.body.innerHTML = res;
        break;
    }
}