JS在span中找到id

时间:2013-12-10 17:53:49

标签: javascript jquery html

您好我有网络聊天和很多用户,我已经打开了这样的聊天窗口

chatbox.newWindow(name, $(this).find("span").data("id"));

并从朋友在线列表中选择它们,但我想获取每个聊天的ID,当我点击发送消息时

例如,当我点击发送消息时,我想获得好人聊天的ID 有没有办法得到最接近的跨度id?

html:

<div id="friends_panel">
            <span>Online uživatelé</span>
            <div class="user">
                <span data-id="1">Nice guy</span>
            </div>
            <div class="user">
                <span data-id="2">John</span>
            </div>
  </div>

感谢您的帮助

3 个答案:

答案 0 :(得分:0)

听起来你可以使用.closest()来解决这个问题。

http://api.jquery.com/closest/

答案 1 :(得分:0)

你自己说 - 每个人。

$(this).find("span[data-id]").each(function() {
    console.log($(this).data('id'))
})

演示:http://jsfiddle.net/F5hyz/1/

如果我理解正确并且你打开了多个具有用户名和ID的聊天窗口 - 它可能是这样的:

$(this).find("span[data-id]").each(function() {
    chatbox.newWindow($(this).text(), $(this).data('id'));
})

如果所有具有“数据ID”的跨度中你都专门寻找“好人” - 你可以将其归档:

var id = $(this).find("span[data-id]").filter(function() {
    return $(this).text() == 'Nice guy';
}).data('id')

答案 2 :(得分:0)

看起来你的查询得到了<span>两个,因此无法返回date-id属性。迭代<span>并看看你得到了什么。