Javascript 在DOM元素中选择
这是html代码Javascript 在DOM元素中选择,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,这是html代码 <div class="extra-sub-block sub-block-experience"> <h6 style="display:inline;" id="exp-pos-0" class="extra-sub-block-head sub-block-head-experience">CEO</h6> </div> <div class="extra-sub-block sub-block-experie
<div class="extra-sub-block sub-block-experience">
<h6 style="display:inline;" id="exp-pos-0" class="extra-sub-block-head sub-block-head-experience">CEO</h6>
</div>
<div class="extra-sub-block sub-block-experience">
<h6 style="display:inline;" id="exp-pos-1" class="extra-sub-block-head sub-block-head-experience">COO</h6>
</div>
这会抛出一个错误。我跟着
我也试过了
var temp=document.getElementsByClassName('sub-block-experience');
var result=temp[0].find('h6');
这也不行。我做错了什么。帮助?尝试,var result=$(temp[0])。查找('h6')代码>
甚至,在您给出的文档链接中,它显示您应该将document.getElementById
中的结果包装到$()
中,以便与jQuery一起应用。它所做的是将本机javascript对象转换为jquery对象
要从所有块中提取值,可以使用以下函数:
var results = $('.extra-sub-block-head').map(function(){
return $(this).text();
})
旁注:由于id
在文档中是唯一的,因此可以使用id
选择器直接访问元素,如var result=$(“#exp-pos-0”)代码>而不是var结果=$(temp[0]+“#exp-pos-0”)代码>函数测试(){
var标签、索引;
tags=document.getElementsByTagName('h6');
用于(索引=0;索引
如果我是对的,您正在尝试获取ceo和coo?如果是这样,那么jquery:
var x= $('.extra-sub-block h6');
//values are
$(x[O]).html();
$(x[1]).html();
您还可以使用普通javascript:
var result = document.querySelectorAll('.sub-block-experience h6');
或者,如果您喜欢分开:
var temp = document.querySelectorAll('.sub-block-experience');
var result = [];
for(var i = 0, elem; elem = temp[i]; i++) {
result = result.concat(elem.querySelectorAll('h6'));
}
但是要注意和的浏览器兼容性。既然已经标记了jquery,为什么不使用它呢?比如$(“.sub-block experience”).find(“h6”)等…由于实际数据太大,无法以这种方式处理,所以我希望它更通用。但在实际代码中,我在每个div(也是动态的)中有多个标记(动态的)。因此,我可以使用“sub block experience”类进行类似的选择,并根据此类动态div的数量将它们分组为块吗?如果您说出您想要实现的目标,这会更容易。是否要获取页面中所有此类
中的值,或其他内容?我要提取每个信息separately@aravindbharathy我没有理解你的意思,因为上面的代码返回一个包含所有值的数组,而不仅仅是单个值
var result = document.querySelectorAll('.sub-block-experience h6');
var temp = document.querySelectorAll('.sub-block-experience');
var result = [];
for(var i = 0, elem; elem = temp[i]; i++) {
result = result.concat(elem.querySelectorAll('h6'));
}