3

我在 jQuery Mobile 手风琴中有一堆虚拟链接。通过虚拟链接,我的意思是 href 只是“#”。该列表由另一个函数动态创建,并使用 value 属性将值存储在元素中。一个循环这样写列表

'<li value="' + result.ID + '"><a href="#">' + result.Name + '</a></li>'    

单击链接时,我无法获取该值。我目前正在使用这个事件处理程序

$(document).on('click', '#openCallsList li a', function () {

});

单击链接时,我希望将值与其关联,以便可以从数据库中获取一些数据(我知道如何执行此操作),然后创建一个对话框窗口(我也知道如何执行此操作)。我只是迷失了如何获取我通过链接存储的值。

4

3 回答 3

6

这将起作用:

$(document).on('click', '#openCallsList li a', function () {
    console.log($(this).closest('li').attr('value'));
});
于 2013-07-10T13:25:39.690 回答
3

尽管您可以value从标签中获取属性<li>,但这是无效的 HTML。该value属性已被弃用。

此属性已在 HTML 4.01 中弃用。因此不再推荐使用它。

来源:http ://www.htmlquick.com/reference/tags/li.html#value

我建议将其更改为以下内容:

'<li id="' + result.ID + '"><a href="#">' + result.Name + '</a></li>'

然后使用

$(document).on('click', '#openCallsList li a', function () {
    var value = $(this).parent().attr('id');
    // or you could use the closest('li') function too.
});
于 2013-07-10T13:29:28.180 回答
1

这是完整的代码:

HTML 代码:

<ul id ='openCallsList'>
    <li value='12'><a href="#">12</a></li>
    <li value='13'><a href="#">13</a></li>
    <li value='14'><a href="#">14</a></li>
    <li value='15'><a href="#">15</a></li>
</ul>

Java脚本代码:

$(document).on('click', '#openCallsList li a', function () {
    alert($(this).parent().attr('value'));
});
于 2013-07-10T13:31:29.967 回答