目前我正在尝试关闭HTML中每个faqs div类中第一个元素的图像。我正在尝试选择faqs父元素,然后向下查询以查找下面的javascript中的第一个列表元素:
$(function () {
_faqs = $('.faqs').accordion({
autoHeight: false,
selectedClass: 'open',
animated: "slide",
header: "dt"
});
console.log(_faqs.length); // returns 2, so it is selecting all faqs classes
for (var i = 0; i < _faqs.length; i++) {
_faqs[i].children('.corner.tr').first().hide();
_faqs[i].children('.corner.tl').first().hide();
// also tried using find()
//_faqs[i].find('.corner.tr').first().hide();
//_faqs[i].find('.corner.tl').first().hide();
}
});
HTML:
<div class="faqs">
<dl class="thefaq">
<div class="corner tl">
<img src="bg-table-tl.gif" alt="" />
</div>
<div class="corner tr">
<img src="bg-table-tr.gif" alt="" />
</div>
<dt>
Question
</dt>
<dd class="open cf">
<p>Answer. <br />
</dd>
</dl>
<br />
</div>
<div class="faqs">
<dl class="thefaq">
<div class="corner tl">
<img src="bg-table-tl.gif" alt="" />
</div>
<div class="corner tr">
<img src="bg-table-tr.gif" alt="" />
</div>
<dt>
Question
</dt>
<dd class="open cf">
<p>Answer. <br />
</dd>
</dl>
<br />
</div>
我一直在开发人员工具控制台中显示Uncaught TypeError : object is not a function
错误,我在这里做错了什么?
我检查了_faqs
变量,它似乎包含了针对孩子的方法,但我仍然遇到此错误......
答案 0 :(得分:2)
答案 1 :(得分:1)
在你的循环中_faqs[i]
指向HTMLElement
,其中有一个名为children
的属性,这显然不是一个函数。
您尝试做的是调用jQuery的children()
方法。您无法在本机DOM
元素上调用jquery方法:为此,您需要将元素包装在jQuery中,如$(_faqs[i])
$(_faqs[i]).children('.corner.tl').first().hide();