如何检查点击的元素是否是包含img?
的锚点因此,例如,我想检查是否单击了此元素:
<a href="#">
<img src="#" />
<a/>
jQuery(document).click(function(e) {
// e.target.hereIsWhereINeedHelp;
});
提前致谢!
答案 0 :(得分:6)
如果你想抓住&#34;点击&#34;来自任何元素:
jQuery(document).click(function(e) {
if (jQuery(e.target).is('a') && jQuery(e.target).has('img')) {
// code goes here
}
});
您是否选择阻止&#34;默认行为&#34;是另一个问题。
答案 1 :(得分:2)
您可以使用.is("a")
和.has("img")
:
<a href="#">
<img src="#" />
<a/>
<script>
jQuery(document).click(function(e) {
var target = $( e.target );
if ( target.is( "a" ) && target.has("img") ) {
//Do what you want to do
}
});
</script>
答案 2 :(得分:1)
您可以使用has()
方法检查元素是否包含另一个元素:
$('a').click(function(e) {
e.preventDefault(); // this will stop the link from going anywhere.
if ($(this).has('img')) {
// do something
}
});
您也可以使用if ($(this).find('img').length)
。
答案 3 :(得分:1)
使用has()
方法
this.has("img");
答案 4 :(得分:0)
您可以使用has()
或find()
$("a").on("click", function(e) {
e.preventDefault(); // Prevents the link redirection
if ( $(this).has("img") ) {
console.log("has image");
}
});
答案 5 :(得分:0)
使用is
检查点击的元素是否为锚标记,然后使用find
查找image
。如果两者都是真的那么你//do something
。
jQuery(document).click(function() {
var el = $(this);
if(el.is("a") && el.find("img").length > 0){
//do something
}
});