我是JavaScript的初学者;我需要点击标签的父元素中的元素查找img
元素,如何在没有jQuery的情况下完成此操作?
答案 0 :(得分:1)
你的问题还不清楚,但答案基本上是:使用DOM中定义的方法:DOM3 Core | Selectors API Level 1,具体取决于您需要支持的浏览器。
例如:在most modern browsers上,你可以这样做:
document.getElementById("some_element_id").addEventListener("click", function() {
// Look in parent for all `img` elements
var imgs = this.parentNode.querySelectorAll("img");
// ...do something with them...
}, false);
或者正如mplungjan在下面的评论中指出的那样,您可以使用旧版浏览器支持的getElementsByTagName
:
document.getElementById("some_element_id").addEventListener("click", function() {
// Look in parent for all `img` elements
var imgs = this.parentNode.querySelectorAll("img");
// ...do something with them...
}, false);
或者,如果您不想提供单击id
的元素,则可以将document.getElementById("some_element_id")
替换为document.querySelector('any CSS selector here')
以选择第一个匹配元素。 (同样仅适用于大多数现代浏览器。)
旁注:您可以使用JavaScript和DOM完成所有工作,但坦率地说,如果您使用像{{3}这样的体面的库,那么工作量会少得多,跨浏览器也会兼容,而且会更有趣。 },jQuery,YUI或Closure。 : - )