Javascript 特定div的document.getElementById类函数
document.getElementById将搜索整个文档并返回结果,但在这里,我希望对特定div使用与搜索特定div的id相同的函数,并基于该函数执行 这是我的密码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
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;
}
}