我不想选择正文中的所有部分标签并获取每个id属性。 我正在使用下面的逻辑:
<body>
<section id="header"></section>
<section id="content" ></section>
</body>
我想要实现的理想“幻想”代码:
var select_all_section = $('body * section');
var sec_id = select_all_section.attr('id');
console.log(sec_id);
//OUTPUT: header
//OUTPUT: content
我的实际代码
var select_all_section = $('body > section');
var sec_id = select_all_section.attr('id');
console.log(sec_id);
//OUTPUT: header
答案 0 :(得分:2)
您是否尝试过.map
$(function() {
var select_all_section = $('section');
var sec_id = select_all_section.map(function() {
return this.id;
});
console.log(sec_id)
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<section id="header">
</section>
<section id="content">
</section>
答案 1 :(得分:0)
好的,我不知道你为什么需要它,但这里有一种方法可以单独输出它们。
var $ids = $('section');
$ids.each(function(i,e){
console.log($(e).attr('id'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<section id="header" >
</section>
<section id="content" >
</section>
编辑:实际上,我认为http://api.jquery.com/jQuery.map/会比这个答案更好。
答案 2 :(得分:0)
$("section")
将为您提供所有元素的集合。
所以你可以直接用
$("section").css({color:"red", fontSize:"24px"});
或者如果你真的需要这个ID来使用它来做更多有趣的事情......
.prop()
.prop( propertyName, function )
将访问所需的媒体资源
$("section").prop("id", function(idx, val){
console.log(val);
});
<section id="header"></section>
<section id="content"></section>
<section id="footer"></section>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
.map()
var sectionIDs = $("section").map(function() {
return this.id;
}).get();
console.log( sectionIDs.join("\n") ); // Join with newline
console.log( sectionIDs ); // Show as array
<section id="header"></section>
<section id="content"></section>
<section id="footer"></section>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
.each()
如果你需要做更多this
相关的东西绑定到每个元素,这个方法很有用,但好的,这是一个简单的例子
$("section").each(function() {
console.log( this.id );
// Or using jQuery
// console.log( $(this).prop("id") );
});
<section id="header"></section>
<section id="content"></section>
<section id="footer"></section>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Array.from(document.querySelectorAll("section")).forEach( e => console.log(e.id) );
<section id="header"></section>
<section id="content"></section>
<section id="footer"></section>