Jquery 内置嵌套div的可单击div
我想做一个可点击的div,里面嵌套了更多的div。据我所知,如果设置锚定标记display:block的样式,它将充当块(div),您可以在其中嵌套希望单击的div 然而,我不相信你可以继续嵌套更多的div超过这个。。。如果是这样,为什么 还有,解决这个问题的最佳/最简单的解决方案是什么。理想情况下,它应该是所有CSS/HTML,但是如果CSS/HTML真的不可能,jQuery解决方案也可以 无论如何。。。例如: 只要锚点的样式为display:block 在这里输入代码Jquery 内置嵌套div的可单击div,jquery,css,html,anchor,block,Jquery,Css,Html,Anchor,Block,我想做一个可点击的div,里面嵌套了更多的div。据我所知,如果设置锚定标记display:block的样式,它将充当块(div),您可以在其中嵌套希望单击的div 然而,我不相信你可以继续嵌套更多的div超过这个。。。如果是这样,为什么 还有,解决这个问题的最佳/最简单的解决方案是什么。理想情况下,它应该是所有CSS/HTML,但是如果CSS/HTML真的不可能,jQuery解决方案也可以 无论如何。。。例如: 只要锚点的样式为display:block 在这里输入代码 <a>
<a>
<div id='first'>
</div>
</a>
<a>
<div id='first'>
<div id='inside first'>
</div>
<div id='inside first 2'>
</div>
</div>
</a>
这不会
在这里输入代码
<a>
<div id='first'>
</div>
</a>
<a>
<div id='first'>
<div id='inside first'>
</div>
<div id='inside first 2'>
</div>
</div>
</a>
感谢您的帮助。谢谢 最简单的方法是使用jquery,为要使可剪裁的div指定一个Id,如下所示:
$('#div_Id').click(function(){
blablabla...
});
这里是somme doc:确保您的第二个变体可以工作-您可以更深入。事实上,嵌套的深度没有限制。(或者可能有,但与现实生活中的案例无关) 但在HTML5之前,将块级元素嵌套到最初的内联元素在语义上是不正确的。一种解决方案是将所有
-s替换为
-s,并使其阻塞
或者,您可以将
-s与jQuery一起使用,并将单击侦听器附加到包装器-如果您正在使用HTML5 Doctype
,则使用锚定标记包装div元素是有效的,假设您没有使用HTML5 Doctype
,您也可以尝试以下方法:
div#first {
cursor: pointer;
}
$('#first').click(function() {
window.location = 'http://www.example.com'
})
将div标记放在锚标记内是无效的html,因此不应该这样做。 在您的情况下,最简单的方法是使用一点JavasScript并在父div上定义一个简单的onclick事件,例如:
<div id='first' onclick="javascript:MyRedirectFunction()">
<div id='inside first'>
</div>
<div id='inside first 2'>
</div>
</div>
您可以将任何级别的东西嵌套在锚中(当然,假设HTML5)。你的第二个例子有效。为什么你认为不会?是的?我刚读到它不会。我不知道。。。我想我正在读一些过时的答案。另外,对于HTML5,我假设我仍然需要将'display:block'分配给锚定标记以使其工作,是吗?不,不需要执行“display:block;”。如果锚点内有块级元素,它将正常显示为块。看到这把小提琴了吗?那么答案是这样的:你是不是已经过时了?我猜HTML5在某些方面有所改进,因为这里的答案确实表明它们是HTML4。令人惊叹的。谢谢哦,对不起,我没有真正理解你的问题:事实上,你正在寻找如何使div可点击…所以你可以用HTML5来做,但它在语义上是不正确的。语义错误的后果是什么?难道做一个积木不就和一个div一样吗?这将如何改变事物,使其在语义上更好?我不是这里的专家,因此非常感谢任何/所有有助于理解的帮助。谢谢当其他开发人员认真研究您的代码时,语义错误将导致巨大的尴尬:)-