使用jquery获取类元素id

时间:2013-12-02 19:35:38

标签: javascript jquery ajax

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

 $("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);
 });        

5 个答案:

答案 0 :(得分:1)

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();

你有太多的错误。您 需要 专注于编写更清晰的代码。看看该死的控制台输出。

答案 1 :(得分:0)

id不是jquery函数。这是javascript的,但有jquery的替代品。有如何解决它:

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

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

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

 $("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');
  });

答案 4 :(得分:0)

这样做的简短方法是你需要使用

$(this).attr('id') 

要检索ID字段的值是什么,更好的方法是通过从dom对象中检索它来获得更高性能

this.id