html - 组合一个 <a> 标签和一个 <label>

标签 html

我无法在 HTML 上组合 a 和 an 标签。 我正在尝试让文本在您单击它时既单击一个复选框又将您带到页面上的某个地方我试图让它像这样:

<a href"#somewhere"><label for"somecheckbox">Some Text</label></a>

但只有标签有效,然后我就这样尝试了:

<label for"somecheckbox"><a href"#somewhere">Some Text</a></label>

但是只有链接有效,有什么方法可以同时使用这两个链接吗?

最佳答案

问题是你试图嵌套 interactive content .这是您无法通过 W3C 规范执行的操作。查看a tag ,例如它是允许的内容。

您将需要使用 javascript 来实现您想要做的事情。

这是一个简单的例子:

var links = document.querySelectorAll("[data-for]");

//Set Event Handler
for(var i = 0; i < links.length; i++) {
  links[i].addEventListener("click", function(event){
    //Get the target cb from the data attribute
    var cbTarget = this.dataset.for;
    //Check the cb
    document.getElementById(cbTarget).checked = true;
  });
}
.head {margin-bottom: 100vh;}
<div class="head">
<a href="#aTarget" data-for="aCheckBox">Click Me</a> <input type="checkbox" id="aCheckBox" />
</div>
<div id="aTarget">A Target</div>

关于html - 组合一个 <a> 标签和一个 <label>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55161585/

相关文章:

html - Flexbox - 最后一个元素放置在 "floating"右边

html - 使用媒体查询更改页面内容 (WordPress)

javascript - IIS 8 并重定向特定页面

css - 当浏览器尺寸减小时,只有第一张图片留在 View 中

html - 禁用移动浏览器点击/触摸/点击反馈框

jquery - Chrome 和 Firefox 中禁用表单输入的工作方式不同

html - 为什么以下 CSS 规则不起作用?

Javascript - 获取 child 的文本值

javascript - window.requestAnimFrame 说明

php - 基于父类别的 jQuery ajax 无限动态选择框