【发布时间】:2018-02-01 03:44:35
【问题描述】:
我目前正在制作一个可点击的 div,当点击它时,它必须跟随一个链接。这是我的 HTML:
<div class="product">
<form method="post" action="/shop/basket.asp" name="myform260020" id="productlistBuyForm750" onsubmit="return BuyProduct(this,'1','0','False');">
<div class="image">
<a href="/shop/boa-elektrisk-luftpumpe-750p.html" title="Boa elektrisk luftpumpe"></a>
</div>
<div class="prodinfo">
/* Lots of text here */
<div class="listprodbuy">
<input class="BuyButton_ProductList" style="border:solid 0px black" src="/images/skins/Nordic%20Spring/images/add_basket.png" type="IMAGE"><br>
<input name="AMOUNT" size="3" maxlength="6" class="TextInputField_Productlist TextInputField_ProductList BuyButton_ProductList" value="1" type="TEXT">
</div>
</div>
</form>
</div>
这个想法是,当我单击类“产品”的 div 元素时,它将跟随包含在类“图像”的 div 中的链接。但是,当单击“listprodbuy”类的 div 时,它不会跟随该链接。 到目前为止,这是我的 Jquery:
$(".product").click(function(){
window.location = $(this).find("a").attr("href");
return false;
});
$("div.listprodbuy").click(function(e){
e.stopPropagation();
});
单击主 div 时,绝对没有任何反应,我认为这是因为 Jquery 无法准确定位链接,因为它不是 div 的直接子元素。我将如何准确指定它应该遵循哪个元素?
虽然我很想将整个 div 包装在一个锚点中,但这是不可能的,因为我的 CMS (DanDomain) 不允许我访问和编辑上面的 HTML。
【问题讨论】:
-
为什么 div 中的 链接标签不在它周围,那不是更容易
-
如果可以的话,我会这样做。唯一的问题是我的 CMS (DanDomain) 是一个非常封闭的系统,其中有一些无法访问的标准模板,上面的 HTML 就是这些模板之一。我编辑的唯一方法是通过 css 和 Jquery
-
删除 .div 并离开 $(".listprodbuy").click(function(e){ e.stopPropagation(); });
-
@Jacob 我猜你忘了在 HTML 中添加 jQuery。这是相同的工作演示s.codepen.io/madhurgarg71/debug/vJrWVM/mWkoNbwJvZwA
-
非常感谢,谢谢。此脚本是否适用于其中几个具有不同链接的 div?它们都有相同的布局。
标签: javascript jquery html anchor stoppropagation