如何做一个整体';分区';可在html和css中单击而不使用JavaScript?
我想让整个div都可以点击,并且在没有JavaScript和有效代码/标记的情况下,可以链接到另一个页面 如果我有这个,这就是我想要的结果-如何做一个整体';分区';可在html和css中单击而不使用JavaScript?,html,css,click,Html,Css,Click,我想让整个div都可以点击,并且在没有JavaScript和有效代码/标记的情况下,可以链接到另一个页面 如果我有这个,这就是我想要的结果- <a href="#"> <div>This is a link</div> </a> W3C验证器说块元素不应该放在内联元素中。有更好的方法吗?jQuery允许您这样做 查找单击()函数: 例如: $('#yourDIV').click(function() { alert('You click
<a href="#">
<div>This is a link</div>
</a>
W3C验证器说块元素不应该放在内联元素中。有更好的方法吗?jQuery允许您这样做 查找
单击()
函数:
例如:
$('#yourDIV').click(function() {
alert('You clicked the DIV.');
});
像这样的
<div onclick="alert('test');">
</div>
您可以添加
标记并将div放在其中,如果希望div充当链接,可以添加href。或者只需使用Javascript并定义一个“OnClick”函数。但是,从提供的有限信息来看,确定问题的背景有点困难。AFAIK您至少需要一点JavaScript
我建议使用
您可以在一行中包含此库。然后你就可以用
$('div').click(function(){
// do stuff here
});
并响应单击事件
在没有javascript和脚本的情况下单击时,整个div链接到另一个页面
如果代码有效,这可能吗
学究式的回答:不
由于您已经添加了另一条注释,在a
标记中嵌套div
是无效的
但是,除了不能在其内部嵌套其他块标记外,没有任何东西可以阻止您使a
标记的行为与div
非常相似。如果它适合您的标记,请在a
标记上设置display:block
,并根据需要调整大小/浮动它
如果您违背了问题的前提,即需要避免使用javascript,正如其他人指出的那样,您可以使用onClick事件处理程序。jQuery是一个流行的选择,它使这个过程变得容易和可维护
更新:
<div id="my-div">
<a href="#" class="fill-div"></a>
</div>
在HTML5中,将
放在(谢谢)中,可以使链接填充整个div,从而使div看起来可点击
CSS:
<div id="my-div">
<a href="#" class="fill-div"></a>
</div>
HTML:
<div id="my-div">
<a href="#" class="fill-div"></a>
</div>
我的解决方案没有JavaScript/图像。只使用CSS。它适用于所有浏览器
HTML:
<div id="my-div">
<a href="#" class="fill-div"></a>
</div>
在HTML5中,在锚定中嵌套块级元素不再是无效的。见和。
我不是说你应该使用它,但是在HTML5中使用
是可以的
否则,公认的答案是最好的。像其他人建议的那样使用JavaScript也是不好的,因为它会使“链接”无法访问(对于没有JavaScript的用户,包括搜索引擎和其他用户)。
如果没有JS,我会这样做:
我的HTML:
<div class="container">
<div class="sometext">Some text here</div>
<div class="someothertext">Some other text here</div>
<a href="#" class="mylink">text of my link</a>
</div>
我们是这样使用的
<label for="1">
<div class="options">
<input type="radio" name="mem" id="1" value="1" checked="checked"/>option one
</div>
</label>
<label for="2">
<div class="options">
<input type="radio" name="mem" id="2" value="1" checked="checked"/>option two
</div></label>
希望这能有所帮助。仅针对div?定义有效代码?有无JavaScript?html和css是否包含JavaScript?别想so@KaiQing所以,根据你的计算,你可以在身体标签中嵌套一个头部标签,这样就可以了?语义标记的存在是有原因的。如果一切都是由一个DOM元素所控制,那么我们也可以只使用一个名为object的标记。只需将
设为块元素即可。虽然我通常不鼓励使用内联处理程序,在这种特定的情况下,它实际上可能是最好的选择—不需要JavaScription—我已经在使用它了,但它表示您不会大声地将块元素放入内联元素中,因此tryna找到了一个好方法(:OP要求“有效代码”(我想它们是指有效的标记)-将a标签嵌套在DIV中是无效的。正如上面其他答案所述,a标签中的DIV现在是有效的html5。OP要求否javascript@AlexNorcliffe在我提交答案后,他编辑了他的帖子。@JoshFoskett我不会显示警告框,而是重定向到另一个页面(像普通的href)。我该怎么做?我遇到了类似localation.href的东西,这有帮助吗?@DiAlex这应该适合你。Thx!我使用了非常类似的东西,也使用了click事件:$(“#div id”)。单击(function(){location.href=“./page.html”;);
从HTML5开始,在brilliant@Damien中有一个
,你是对的。是有效的HTML5。感谢你简化了我的生活!Alex,如果你更新了答案以反映Damien的评论,那就太好了。这是非常有价值的信息,可惜它隐藏在评论中…Damien文档的更新URL引用:,然后文本搜索“a元素现在”在页面上定位此解决方案是否会对文档中的其他标记产生潜在问题?我可能不希望所有标记都这样重新定义。正如@Damien所指出的,内部的an似乎是最优雅的。请参阅此页面,使其在Internet Explorer中正常工作(基本上只需将宽度或高度设置为1%:我相信只有a
才需要1%的破解,它不会填充有填充的td
,我假设div
也是如此。我不确定除了从容器中移除填充之外是否还有其他方法。a
上的负边距没有帮助.HTML4.a
如果不围绕任何内容,也会收缩为零。您当然是指“仅HTML和CSS”。
在哪里?这似乎没有回答问题。他在他的a
标记中添加了display:block
,使其行为类似于div
。它会得到相同的结果。这不会添加任何内容“clickable”功能。它只更改光标。True。为我的目的而工作:))OP指定为“无javascript”。OP指定为“无javascript”。我使用这个答案的时间,使我倒退了至少两年,节省了几次我的皮肤!再次感谢Hanks,这节省了我一天我认为这是最好的;)onclick使用javascript,因此这是一个可单击div的解决方案,但不是对
.clickable {
cursor:pointer;
}
<label for="1">
<div class="options">
<input type="radio" name="mem" id="1" value="1" checked="checked"/>option one
</div>
</label>
<label for="2">
<div class="options">
<input type="radio" name="mem" id="2" value="1" checked="checked"/>option two
</div></label>
<label for="1">
id=1
.clickable {
cursor:pointer;
}