我只想用javascript从表class=“variations”中删除属性为='pa_cb5feb1b7314637725a2e7'的标签
<table class="variations">
<tbody>
<tr>
<td class="label"><label for="pa_1ef722433d607dd9d2b8b7">Ships From</label></td>
</tr>
<tr>
<td class="label"><label for="pa_cb5feb1b7314637725a2e7">Color</label></td>
</tr>
</tbody>
</table>
我只想保留“船从”; 如有任何帮助,不胜感激
只需在最后创建一个脚本标记,然后使用标签标记获取所有元素,并根据需要删除具有相同for属性的元素。 这里的代码可能会有帮助-
<html>
<body>
<table class="variations">
<tbody>
<tr>
<td class="label"><label for="pa_1ef722433d607dd9d2b8b7">Ships From</label></td>
</tr>
<tr>
<td class="label"><label for="pa_cb5feb1b7314637725a2e7">Color</label></td>
</tr>
</tbody>
</table>
<script>
var labeltags = document.getElementsByTagName("label");
for (var i=0;i<labeltags.length;i++){
if (labeltags[i].getAttribute("for")=="pa_cb5feb1b7314637725a2e7"){
labeltags[i].remove();
}
}
</script>
</body>
</html>
使用QuerySelector()
选择元素。 如果您有多个元素,请使用QuerySelectorAll()
并迭代得到的列表。 然后,可以使用remove()
将其从DOM中删除。 下面是一个例子:
var el = document.querySelector('label[for=pa_cb....]');
if (el) {
el.remove();
}
如果希望保留内部HTML并将其追加到父级,可以将其存储在变量中,移除标签,然后将内部HTML添加到父级。 下面是一个例子:
var el = document.querySelector('label[for=pa_cb....]');
if (el) {
var innerHtml = el.innerHTML;
var parentElement = el.parentElement;
el.remove();
parentElement.innerHTML += innerHtml;
}
据我所知,您需要通过for值移除标签。
那这个也许能帮到你。
使用Javascript
var labels = document.querySelectorAll(".variations label[for]");
console.log(labels);
for(let i = 0; i < labels.length; i++ ) {
if(labels[i].getAttribute('for') === 'pa_1ef722433d607dd9d2b8b7') {
labels[i].remove();
}
}
工作演示
Jquery(life-saver)中的一行解决方案
$('.variations').find("label[for='pa_1ef722433d607dd9d2b8b7']").remove();