是否可以做以下事情?
我有这个div:
<div class="articleBoxContent">
<h2><a href="myLink">Title</h2>
<p>
<a href="anotherLink">
<img src="img.jpg">
</a>
</p>
<p>My text is so awesome! I like ponies and cookies.</p>
</div>
以下jQuery片段:
$(".articleBoxContent").click(function() {
window.location = $(this).find("h2").find("a").attr("href");
return false;
});
我想要做的是,当我点击我的div时,如果div没有包含其他链接,它会将我发送到 H2 元素(myLink)中包含的链接在 p 元素中。
但我无法弄清楚如何对jQuery说明 H2 元素中的链接与 p 元素中的链接进行区分。有什么想法吗?
谢谢!
答案 0 :(得分:1)
使用:
$(".articleBoxContent").click(function() {
var el = $(this);
if( el.find('p a[href]').length == 0 ){
el.find('h2 a[href]').trigger('click');
} // if
});
答案 1 :(得分:0)
在p
元素内进行检查:
$(".articleBoxContent").click(function() {
if ($(this).find("p a").length) {
//Found some anchor elements inside a "p" tag, do nada
return false;
} else
//Didnt find an anchor inside the "p" tags - redirect
window.location = $(this).find("h2").find("a").attr("href");
}
});
答案 2 :(得分:0)
试一试:
$(".articleBoxContent").click(function(e) {
e.preventDefault();
e.stopPropagation();
var $this = $(this);
if(!$this.find('p a').length) {
window.location = $this.find("h2 a").attr("href");
}
return false;
});