使用jquery获取类元素id

Get the class element id using jquery

本文关键字:元素 id 获取 jquery 使用      更新时间:2024-02-06

当我加载页面并将其键入控制台时:

 $("div .maps_popup");

我看到了以下内容:

 <div class="maps_popup" id="2">

因此,在我的代码中,我有以下内容:

 $("div .maps_popup").on('click', function () {
             var store_id = $(this).id;
                 alert(store_id);
  });

当我点击地图上的图标时,我在浏览器中没有收到id的警报。所以有些地方不对劲。有人能调整我的代码,让我知道我做错了什么吗?

感谢

更新我已经在这个线程上尝试了所有的例子,但似乎都不起作用。页面位于:http://test.theslickfeed.com/index.php

点击地图上的任何图标,再次打开开发者工具,然后转到控制台并执行:

$("div.maps_popup")您将在那里看到div标记。

到目前为止,这些例子都不起作用:(

再次更新这是我现在的代码,它仍然没有做它应该做的事情,即获取maps_popup类的id并将其传递到url进行面板刷新:

 $("div.maps_popup").click(function(){
                    var store_id = this.id;
        var pathname =  "ajax=1&store_id="+store_id+"&action=get_nearby_stores&distance="+distance+"&lat="+lat+"&lng="+lng+"&products="+$('#edit-products').val();
        $("#pocp_content").load("file1.php?" + pathname);
 });        
alert(this.id)

就是你所需要的。不需要jQuery来检索该信息。

jQuery已经将this绑定到div,这就是您在控制台中看到的。


编辑

您的选择器是顶起的div.maps_popup而不是div .maps_popup。第二个选择器将匹配(查找具有类maps_popup的子元素):

<div>
    <div class="maps_popup"></div>
</div>

但是,前面的语句this.id也是必需的。

删除此之前的最后一次编辑

distance未在中定义

var pathname =  "ajax=1&store_id="+store_id+"&action=get_nearby_stores&distance="+distance+"&lat="+lat+"&lng="+lng+"&products="+$('#edit-products').val();

你的错误太多了。需要专注于编写更干净的代码。看看该死的控制台输出。

id不是jquery函数。这是javascript的,但jquery还有一个替代方案。有办法解决它:

 $("div .maps_popup").on('click', function () {
         var store_id = $(this).attr('id');
             alert(store_id);
 });

监听文档加载,并将.id更改为.attr('id'):

$(function () {
    $("div .maps_popup").on('click', function () {
        var store_id = $(this).attr('id');
        alert(store_id);
    });
});

简单的方法是需要使用

$(this).attr('id') 

要检索ID字段的值,性能更高的更好方法是从像这样的dom对象中检索

this.id

有很多方法。我建议最后两种中的一种。

 $("div.maps_popup").on('click', function () {
             $(this).attr('id');
  });
 $("div.maps_popup").on('click', function () {
             this.id;
  });
 $("div.maps_popup").on('click', function () {
             this.getAttribute('id');
  });