Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jqueryonclick don';t与a href和img一起工作_Jquery_Html_Cordova - Fatal编程技术网

jqueryonclick don';t与a href和img一起工作

jqueryonclick don';t与a href和img一起工作,jquery,html,cordova,Jquery,Html,Cordova,我想在点击ID链接时显示div jQuery: $('#tab-bar a').on('click', function(e){ e.preventDefault(); var nextPage = $(e.target.hash); page(nextPage); $("#pages .current").removeClass("current"); nextPage.addClass("current"); }); HTML:

我想在点击ID链接时显示div

jQuery:

  $('#tab-bar a').on('click', function(e){

    e.preventDefault();
    var nextPage = $(e.target.hash);
    page(nextPage);
    $("#pages .current").removeClass("current");
    nextPage.addClass("current");
    });
HTML:



模仿
当我使用文本而不是图像时,它会按照我的意愿工作。显示h2。 当图像处于“链接”状态时,它将显示一个空白页。 我怎样才能解决这个问题

致意
Simon

这是因为当您在锚定中有图像时,当您单击事件目标时,它是一个
img
元素,并且它没有任何
哈希属性。在我使用
最近的
方法从目标元素中查找最近的
元素的地方尝试此操作

$('#tab-bar a').on('click', function(e){
    e.preventDefault();
    var nextPage = $($(e.target).closest('a')[0].hash);
    page(nextPage);
    $("#pages .current").removeClass("current");
    nextPage.addClass("current");
});
或者,您可以使用
this.hash
,其中
this
将指向附加事件的元素

$('#tab-bar a').on('click', function(e){
    e.preventDefault();
    var nextPage = $(this.hash);
    page(nextPage);
    $("#pages .current").removeClass("current");
    nextPage.addClass("current");
});

这是因为当您在锚定中有图像时,当您单击事件目标时,它是一个
img
元素,并且没有任何
hash
属性。在我使用
最近的
方法从目标元素中查找最近的
元素的地方尝试此操作

$('#tab-bar a').on('click', function(e){
    e.preventDefault();
    var nextPage = $($(e.target).closest('a')[0].hash);
    page(nextPage);
    $("#pages .current").removeClass("current");
    nextPage.addClass("current");
});
或者,您可以使用
this.hash
,其中
this
将指向附加事件的元素

$('#tab-bar a').on('click', function(e){
    e.preventDefault();
    var nextPage = $(this.hash);
    page(nextPage);
    $("#pages .current").removeClass("current");
    nextPage.addClass("current");
});

应该是
你能给我们一把小提琴吗?或者至少是不起作用的代码?
应该是
你能给我们一把小提琴吗?或者至少是不起作用的代码?
this.hash
也可能起作用吗?事件处理程序绑定到
a
元素。是的,这将是最简单的解决方案:PWould
this.hash
也许也可以工作?事件处理程序绑定到
a
元素