gpt4 book ai didi

javascript - 从 jQuery Each 元素中获取 ID 字段

转载 作者:行者123 更新时间:2023-12-02 18:30:22 26 4
gpt4 key购买 nike

我试图循环遍历 <ul> 列表中的所有子项,分配 onclick 事件监听器并使用该事件的元素 ID。我在我的应用程序中使用 jQuery 和 jQueryMobile。由于某种原因,元素的 ID 属性总是显示为空白?当我警告实际元素时,我得到 [ObjectHTMLLIElement] 。当我使用 DevTools 时,ID 字段出现在所有元素中?

这是 ListView

这就是我试图实现这一目标的方式......

function set_onclicks()
{
var count = $('#main-listview').children().length;
if (count > 0)
{
$('#main-listview').children().each(function() {
this.onclick = function() {
project_id = this.id;
$.mobile.changePage('#main-project-page', 'slide', true, true);
}
});
}
}

任何人都可以为我指出正确的方向并帮助解释为什么我无法获取 ID 吗?预先感谢您的帮助!

内森

最近编辑

我已经尝试实现这个,现在我知道我不需要通过 .each() 循环进行绑定(bind)。

$('#main-listview').children().click(function() {
alert(this);
alert(this.id);
project_id = this.id;
$.mobile.changePage('#main-project-page', 'slide', true, true);
});

第一个警报给我[ object HTTMLLIElement ],下一个警报给我一个空白...?

编辑 2 - HTML 示例我想我现在知道为什么了。 jQueryMobile 在添加 <div> 链接之前添加了一些 <a> 元素。现在,我必须弄清楚如何解决这个问题..

<ul data-role="listview" data-inset="true" data-filter="true" data-filter-theme="a" id="main-listview" class="ui-listview ui-listview-inset ui-corner-all ui-shadow">
<li data-corners="false" data-shadow="false" data-iconshadow="true" data-wrapperels="div" data-icon="arrow-r" data-iconpos="right" data-theme="a" class="ui-btn ui-btn-icon-right ui-li-has-arrow ui-li ui-first-child ui-btn-up-a">
<div class="ui-btn-inner ui-li">
<div class="ui-btn-text">
<a id="51e0278f2a1cb33a08000002" class="ui-link-inherit">123456 - The Project</a>
</div>
<span class="ui-icon ui-icon-arrow-r ui-icon-shadow">&nbsp;</span>
</div>
</li>
</ul>

最佳答案

我不知道为什么你要使用函数来设置点击事件..(并且不需要使用循环$.each来为每个元素设置点击事件).

这应该可行

  $('#main-listview').children().click(function() {
project_id = this.id;
$.mobile.changePage('#main-project-page', 'slide', true, true);
}
});

关于javascript - 从 jQuery Each 元素中获取 ID 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17857638/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com