当我加载页面并将其输入控制台时:
$("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);
});
答案 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