我的网站上有一个带有搜索功能的标题栏。我实现的功能之一涉及查找结果并调整包含它们的框的大小。
具有此标题栏的一页我的功能完美运行:
$(".suggestionCategory").each(function() {
$(this).find(".suggestionCategoryName").outerHeight($(this).find(".suggestionCategoryValues").height());
});
但在另一个我收到以下错误消息:
未捕获的类型错误:无法读取未定义的属性“高度”
在打破和检查后,我可以看到结果
$(this).find(".suggestionCategoryValues")
返回非常不同的东西。在正常运行的页面上:
$(this).find(".suggestionCategoryValues")
评估为:
[
<div class="suggestionCategoryValues">…</div>
]
但在它失败的页面上,它评估为:
[
b.fn.b.init[1]
0: div.suggestionCategoryValues
context: div.suggestionCategoryValues
length: 1
__proto__: Object[0]
]
为什么会这样,我做错了什么?
编辑:
首先 - 我不想知道如何解决它 - 我已经有了一个解决方法(做一个内部 foreach 并将 $(".suggestionCategoryValues").height() 的大小加起来。
但我很好奇它们为什么不同。
我相信 HTML 是相同的,但我会发布标记以防万一我是个白痴。这是“损坏”页面的标记:
<div id="searchSuggestionSelection" style="display: block; position: absolute; top: 3.9em; left: 324px; height: 343px;">
<div class="suggestionCategory">
<div class="suggestionCategoryName"><span>company</span></div>
<div class="suggestionCategoryValues">
<div data-actual-search="XXXX" class="suggestionValue first">XXXX</div>
<div data-actual-search="YYYY" class="suggestionValue">YYYY</div>
<div data-actual-search="ZZZZ" class="suggestionValue">ZZZZ</div>
</div>
</div>
<div class="suggestionCategory">
<div class="suggestionCategoryName"><span>contact</span></div>
<div class="suggestionCategoryValues">
<div data-actual-search="AAAA" class="suggestionValue first">AAAA</div>
<div data-actual-search="BBBB" class="suggestionValue">BBBB</div>
<div data-actual-search="CCCC" class="suggestionValue">CCCC</div>
<div data-actual-search="DDDD" class="suggestionValue">DDDD</div>
</div>
</div>
</div>
这是“工作”页面的标记:
<div id="searchSuggestionSelection" style="display: block; position: absolute; top: 3.9em; left: 324px; height: 823px;">
<div class="suggestionCategory">
<div class="suggestionCategoryName" style="height: 316px;"><span>company</span></div>
<div class="suggestionCategoryValues">
<div data-actual-search="XXXX" class="suggestionValue first">XXXX</div>
<div data-actual-search="YYYY" class="suggestionValue">YYYY</div>
<div data-actual-search="ZZZZ" class="suggestionValue">ZZZZ</div>
</div>
</div>
<div class="suggestionCategory">
<div class="suggestionCategoryName" style="height: 512px;"><span>contact</span></div>
<div class="suggestionCategoryValues">
<div data-actual-search="AAAA" class="suggestionValue first">AAAA</div>
<div data-actual-search="BBBB" class="suggestionValue">BBBB</div>
<div data-actual-search="CCCC" class="suggestionValue">CCCC</div>
<div data-actual-search="DDDD" class="suggestionValue">DDDD</div>
</div>
</div>
</div>
如您所见,“工作”页面成功应用了高度。