我有一些问题与选择元件,使用jQuery。 当我尝试选择一个元素:
var images = $("#htmlChunk").find("img.Thumb");
console.log(images);
我得到这样的结果:
>[<img>, <img>, prevObject: e.fn.e.init[1], context: #document, selector: "#htmlChunk img.Thumb"]
是什么原因造成这个返回的结果? 我尝试了一些东西,但仍然没有得到结果我想要的。
我想换行代码,以避免冲突的。 我试图清除对象
这是我在网上找到。 http://drupal.org/node/272557
var images = $("#htmlChunk")['prevObject'].find("img.Thumb");
我现在得到返回的对象,但那也并不是我想要的。
我跳进这个项目,所以我没有和脚本知名。 我试图在js文件中搜索prevObject但could'nt狼狈不堪。
我认为这个问题是它与其他一些JavaScript文件的干扰。 有任何想法吗? 方向?
编辑:htmlChunk:
<div id="htmlChunk">
<div class="ngg-albumoverview">
<div class="ngg-album-compact">
<div class="ngg-album-compactbox">
<div class="ngg-album-link">
<a class="Link" href="http://........">
<img class="Thumb" alt="Personeelsevent" src="http://.........">
</a>
</div>
</div>
<h4><a class="ngg-album-desc" title="Personeelsevent" href="http://.....">Personeelsevent</a></h4>
<p><a href="http:///.......">bekijk dit album</a></p>
</div>
</div>
</div>
你的images
变量是一个jQuery对象,所以你看到的在浏览器的控制台输出似乎是对象。 特定输出表明调用.find()
实际上不匹配的任何元件; 比较来自两个控制台输出此的jsfiddle (在Chrome)。
当调用jQuery函数-诸如.find()
.filter()
等等-对变窄,或者变化,匹配元素的对列表中的现有jQuery对象所得jQuery对象还包含前的状态的参考该功能在运行,这是你看到的是prevObject
。 这就是使用它来恢复,当你调用到.end()
函数。
让我们打破你的代码:
var images = $(".htmlChunk").find("img.Thumb");
第一部分- $(".htmlChunk")
-即具有类的所有元素相匹配htmlChunk
他们,并返回包含这些元素一个jQuery对象。
然后调用.find("img.Thumb")
其查找属于已经匹配元素的后代(那些具有类的所有元素htmlChunk
),其满足作为一个标准<img>
元件和具有类Thumb
对它们。
你可以使用一个单一的选择来获取元素,这可能会给你更好的结果:
var images = $(".htmlChunk img.Thumb");
如果希望实际DOM元素,而不是一个jQuery对象的含有它们的阵列,可以使用.get()
函数:
var elementArray = images.get();
为了解决编辑的问题包括HTML:
您使用$(".htmlChunk")
获得初始元素。 然而,这<div>
元件具有ID,不是类,的htmlChunk
使得代码不会选择需要的元件。 你要使用以下命令:
var images = $("#htmlChunk").find("img.Thumb");
注意#
,而不是.
在选择。
它看起来像你想选择类“.htmlChunk”,但不存在。 尝试通过ID选择来代替。
var images = $("#htmlChunk").find("img.Thumb");
试试这个。
function getId() {
var ids = $(".htmlChunk").find("img.thumb"); //it wiill return array of image
var sid = $(".htmlChunk").find("img#img2"); //it wiill return wat image you want
$(".htmlChunk span").text("arrays:" + ids[0] + " : " + ids[1] +
"simple imge:" + sid);
}
<input id="Button1" type="button" value="button" onclick= "getId();"/>
<div class="htmlChunk">
<img alt="" src="img/Desert.jpg" class="thumb" id="img1" />
<img alt="" src="img/Chrysanthemum.jpg" class="thumb" id="img2" />
<span></span>
</div>
不只是prevObject结果的财产?
你可以把它理解为“结果有以下prevObject - >”