这是我的问题,
我正在使用jquery FancyBox,我想设置一个输入的值(进入我的盒子),点击该元素的id!
但是,我的元素是这样的:
<a... ID="xxxx">
<i/> <i/>
</a>
我的标签是我的容器,它包含2张小图片...(字体很棒)这些小图片没有ID!所以, 如果我点击我的容器上的某个地方,我得到我想要的价值...但如果我点击其中一个图像,event.target.id是空的,因为它使用图像ID而不是容器ID ...
这是“调用者元素”的代码:
<a class="btn btn-info add" href="#addNewPopup" title="Add Data" id="addData'.$g["id"].'User'.$u["id"].'">
<i class="fa fa-plus"></i>
<i class="fa fa-phone"></i>
</a>
这是我用来检查我的系统的js代码(#hiddenInput是隐藏的输入类型,进入我的fancybox,我的fancybox在之前的链接上用href =“#addNewPopup”调用...) :
$(".add").click(function(event){
$("#hiddenInput").val(event.target.id);
alert("CONTENT OF ID : "+($("#hiddenInput").val()));
});
这当然是一个“容易”解决的问题......但是无法得到它!
Thanx任何帮助! :)
(请不要告诉我链接ID上有语法错误,我只是在这里复制粘贴的PHP代码,所以我的''和“”可能看起来像错误...!:))
答案 0 :(得分:2)
您需要使用this.id
代替e.target.id
$("#hiddenInput").val(this.id);
target的event属性是指导致事件引发的元素,在您的情况下,它可能是i
元素。你需要的是得到id
或e.delegateTarget引用的锚元素的this
演示:Fiddle