当标签标签包装复选框输入

时间:2017-09-05 21:52:50

标签: javascript jquery html css checkbox

高级初学者,请耐心等待:)

我有幸删除了checkboxes,并设置了labels属性所在的for=""样式。

在我尝试设置的一个特定表单上,标记完全不同,labels正在包裹input,并且没有for属性。

因此标记是..

<li id='tags-234'>
  <label class="selectit">
    <input value="234" type="checkbox" 
           name="tax_input[tags][]" id="in-tags-234" /> Tag 1
  </label>
</li>

有人能让我开始吗?我需要以某种方式添加标签标签吗?

所有人都非常感谢。

1 个答案:

答案 0 :(得分:1)

不确定为什么要删除复选框并为标签设置样式,但以下是如何使用HTML结构执行此操作:

// Get reference to all labels that don't have a "for" attribute:
var labels = document.querySelectorAll("label:not([for])");

// Turn that node list into a JavaScript array:
var lblArray = Array.from(labels);

// Loop through the array:
lblArray.forEach(function(lbl){
  lbl.removeChild(lbl.firstElementChild);  // remove the child content
  lbl.classList.add("someStyle");          // style the label by adding a class to it 
});
.someStyle {
  background-color:yellow;
}
<li id='tags-234'>
  <label class="selectit">
    <input value="234" type="checkbox" 
           name="tax_input[tags][]" id="in-tags-234" /> Tag 1
  </label>
</li>