JQM:为什么同一个jQuery选择器根据当前页面返回不同数量的元素
JQM: Why does the same jQuery selector return a different number of elements depending on the current page?
首次打开(或刷新)我的应用(主页为当前页面)时,然后从控制台执行以下命令:
$("a.ui-collapsible-heading-toggle").length
返回值为 1。总共有 4 个可折叠的小部件,但主页上只有 1 个。如果我随后单击"文档"选项卡并执行相同的命令,它将返回正确的数字 4 - 此页面上有 3 个小部件。如果我随后单击主页选项卡(或任何其他选项卡),则会显示正确的结果 4。
我正在使用 JQM 版本 1.4.5 和 jQuery 2.1.3。
谁能解释这种不一致的行为?
奥
马尔为我指出了正确的方向。可折叠构件仅在加载 JQM 页面时加载。解决方案是按照本 JQM 文档中的指示对页面进行数据预取。请注意,data-prefeth 属性可以应用于单页和多页选项。
由于我的应用程序的四个页面中只有两个包含可折叠的小部件,因此我只需要在这些页面的链接上指定"数据预取"。
在主页上,指定数据预取的导航栏链接如下所示:
<div data-role="navbar">
<ul>
<li><a href="#home" data-prefetch class="ui-btn ui-state-persist ui-icon-home" data-icon="home">Home</a></li>
<li><a href="#demo" class="ui-btn ui-icon-info" data-icon="info">Examples</a></li>
<li><a href="#documentation" data-prefetch class="ui-btn ui-icon-info" data-icon="info">Documentation</a></li>
<li><a href="#contact" class="ui-btn ui-icon-mail" data-icon="mail">Contact</a></li>
</ul>
</div>
</div>
请注意 #home 和 #docmentation 链接上的 data=prefetch 属性。
这些数据预取属性的组合产生了正确数量的选定元素 4。
相关文章:
- Jquery在刷新时返回元素的旧值
- 什么'这是返回元素的好方法's路径
- Javascript函数无法返回元素
- getElementById 不返回元素
- JQuery .index() 不返回元素的正确索引
- Lodash Javascript 基于唯一属性值返回元素
- 为什么随机选择算法在 Array[low] 时返回元素(低 === 高)
- scrollTop() 返回元素下方的位置
- Jquery 返回元素的 .width() 取决于元素的找到方式
- D3 按类选择元素并返回元素 ID
- 移除.append()以向其返回元素'的原始状态
- 如何在Selenium Python execute_script中获取返回元素的值
- jQuery find-返回元素的顺序是什么
- 使用jQuery Mobile时未能返回元素的width()
- 数组的递归返回元素
- XML getElementsByTagName在Safari中不返回元素
- JavaScript shift()方法是否返回元素的引用或副本?
- 是否有官方的w3c声明指出用户代理实际上必须以大写形式返回元素的标记名称?
- jQuery在PC上返回元素ID,在Android上返回'undefined'为什么
- 在承诺后从jQuery插件返回元素