getElementsByTagName()
在jQuery中的等效方法是什么?我只想在jQuery中创建一个元素集合,以便可以迭代其中的每个项并对其执行某些操作。
非常感谢!
getElementsByTagName()
在jQuery中的等效方法是什么?我只想在jQuery中创建一个元素集合,以便可以迭代其中的每个项并对其执行某些操作。
非常感谢!
$("tagnamehere")
所以:$("div").each(function() {
// do something exciting with each div
$(this).css("border", "1px solid red");
// do something by directly manipulating the wrapped DOM element
this.style.border = "1px solid red";
// do something only if this particular div has a class of 'pretty'
if($(this).hasClass("pretty")) {
$(this).text("I am the pretty one");
}
});
或者只需:
// apply some css to all div elements
$("div").css("border", "1px solid red");
请注意,当您使用jQuery选择多个元素时,例如$("span")
,您在对象上调用的任何方法都会发生在所有匹配的元素上。可以将其视为“隐式迭代”-例如$("span").hide();
将隐藏页面上的所有span元素。$('elementname')
$('div')
进行迭代的方法:
$('div').each(function(){
var $this = $(this);
//insert code here
});
您可能不需要迭代,因为在集合上调用的方法将针对集合中的每个项进行调用,因此
$('div').hide();
...将隐藏所有的
$("[foo]")
是属性选择器,而不是元素选择器。 - Šime Vidas给定一个字符串tagName
,这个语句:
document.getElementsByTagName(tagName)
使用jQuery可以编写如下内容:
$(tagName)
element
和一个字符串tagName
,这个语句的意思是:element.getElementsByTagName(tagName)
使用jQuery可以编写如下内容:
$(element).find(tagName)
注意:使用getElementsByTagName
可以获取原生DOM元素,而使用jQuery语句可以获取jQuery对象。如果你想使用jQuery获取原生DOM元素,可以使用get()
方法 - 如何从jQuery对象中提取原生DOM元素?
只需要放置类似于以下内容:
var some = $('[name="tagname"]');
$("#myDiv")
将会获取 id 属性设置为 myDiv 的 div 元素。 - karim79each
循环遍历它们,就像Karim所展示的那样,或者你可以通过[]
符号直接访问它们:$('div')[0].xxx;
更多信息请参见:http://api.jquery.com/get/ (你可以使用[]
或get()
,两者都可以;get()
有一些额外的功能,但如果你不需要这些功能,大多数情况下你会想要使用[]
。)值得一读的是,从头到尾阅读jQuery API(http://api.jquery.com),你会更好地理解它,而且只需要一个小时左右的时间。 - T.J. Crowder$("div:eq(2)")
。这被称为:eq
选择器。我建议你阅读我在答案中发布的链接(特别是第二个链接),以了解 jQuery 和 CSS 选择器的工作原理。 - karim79