【发布时间】:2016-08-25 02:35:50
【问题描述】:
下午好,
我正在重建一些网页(仅使用 html/css/jquery/js),其中一个网页上有一系列产品。每个都包含在自己的 div 中,并在页面上重复多次。这些产品都有一张图片、一些文字和一个链接。
我正在尝试更改产品幻灯片,以便整个元素都可以点击。通常没什么大不了的,因为我可以将吸盘包装在标签中并完成它。
但是,产品幻灯片上有一个链接。并且使用的 CSS 主题基于类名和元素类型进行选择,所以如果我更改任何一个样式,样式都会简单地脱落。
我在 codepen 中构建了一个粗略的结构示例: http://codepen.io/joshmonks/pen/EyByEr
<a class="product-link">
<div id="product">
<div><img></img></div>
<div id="description">text text text</div>
<a class="inner-link">buy now!</a>
</div>
</a>
我想知道处理这种情况的最佳方法,我已经看到了一些关于使用 JQuery 侦听要单击的#product div 并在内部链接上触发单击事件的解决方案。如果没有找到其他解决方案,我相信我将使用此解决方案。如果可能的话,如果可能的话,我想要一个结构性的解决方案,而不是触发事件,因为结构就像示例中的那样感觉更优雅,但具有有效的 html
如果我可以嵌套标签,我就不能在内部链接上放置一个 href 并应用所有样式。然后在外部链接上有 href,但没有应用样式。当然,这是无效的 html :(
感谢您的帮助和建议!
【问题讨论】:
-
你不能这样做,一个链接不能有一个孩子的链接,它不连贯。将你的父母 a 变成一个没有 href 属性的具有相同类的 div
-
是的,我知道这是非法的 html... 问题是 css 主题中的特定样式需要查找具有特定类的锚标签,所以我不能只删除“产品-link" 锚点并将该锚点中的所有类添加到“产品” div..
-
如果你是 css 需要一个带有类的锚,并且你不想更改主题的 css 文件....最好的方法是你自己回答的那个。使 div 可点击。
-
我就是这么想的,不过我真的很喜欢 Shnibble 的建议。
标签: jquery html css nested anchor