我有两个链接需要使用javascript隐藏/删除。我所有这样做的尝试都失败了。锚点在<td>
内部定义,如下所示:
<td>
<a id="btnReplaceAll" onclick="LaunchUploader(this, true);this.blur();return false;" href="javascript:void(0);" class="btnMed"><span>Replace All</span> </a>
</td>
首先我尝试了显而易见的事实:
document.getElementById('btnReplaceAll').style.display = 'none';
document.getElementById('btnRetainAll').style.display = 'none';
但他们仍然出现。然后我尝试了这个:
var btnReplaceAll = document.getElementById('btnReplaceAll');
var btnRetainAll = document.getElementById('btnRetainAll');
btnReplaceAll.parentNode.removeChild(btnReplaceAll);
btnRetainAll.parentNode.removeChild(btnRetainAll);
如何使用javascript删除这些内容?拜托,没有jQuery。
问题是重复的ID。有些元素在另一个文件中定义了相同的ID,但文件都由.net汇编,所以我没有注意到重复。
答案 0 :(得分:0)
您是要删除它们,还是只是隐藏它们?
如果你想删除它们,这应该有效:
var btnReplaceAll = document.getElementById('btnReplaceAll');
btnReplaceAll.parentNode.removeChild(btnReplaceAll);
var btnRetainAll = document.getElementById('btnRetainAll');
btnRetainAll.parentNode.removeChild(btnRetainAll);
看起来你已经尝试过了。
这意味着,您可能还有其他一些JavaScript,只要您将其删除,就会重新添加它们。我会尝试在该行之后添加throw new Error()
作为测试。如果它们在上面的区块之后随着那条线消失,但是没有它就会停留,这意味着有些东西会让它们重新进入。
如果你只想隐藏它们似乎是同样的交易,因为你所拥有的也应该隐藏它们。
此外,这看似显而易见,但只需仔细检查您使用的ID是否是他们设置的ID(仔细检查字符大小写和内容)。
此外,如果它们位于与您尝试执行删除代码的位置不同的Iframe中,则它也无法正常工作。你可以通过输出console.log(btnReplaceAll)
(在设置变量之后)并确保它是非空的来检查这一点。
答案 1 :(得分:0)
我需要看看你的DOM看起来是什么样子,看看btnRetainALL在哪里......但是对于你在示例中显示的一个按钮,你可以这样做从DOM中删除它:
<a id="btnReplaceAll" onclick="LaunchUploader(this, true);this.parentNode.removeChild(this);return false;" href="javascript:void(0);" class="btnMed"><span>Replace All</span> </a>
答案 2 :(得分:0)
此代码应该有效:
document.getElementById('btnReplaceAll').style.display = 'none';
但显然你有多个具有相同id的控件,这就是它失败的原因。如果是这种情况,我宁愿为所有人添加一个特定的类并执行:
var elements = document.getElementsByClassName('your_class');
for(var i in elements)
elements[i].style.display = 'none';
答案 3 :(得分:0)
好像你可能有重复的ID。如果是这种情况,请尝试使用此代码:
<强>标记:
<table id="myTable">
<tr>
<td>
<a onclick="LaunchUploader(this, true);this.blur();return false;" href="javascript:void(0);" class="btnMed"><span>Replace All</span></a>
</td>
<td>
<a onclick="LaunchUploader(this, true);this.blur();return false;" href="javascript:void(0);" class="btnMed"><span>Replace All</span></a>
</td>
<td>
<a onclick="LaunchUploader(this, true);this.blur();return false;" href="javascript:void(0);" class="btnMed"><span>Replace All</span></a>
</td>
<td>
<a onclick="LaunchUploader(this, true);this.blur();return false;" href="javascript:void(0);" class="btnMed"><span>Replace All</span></a>
</td>
</tr>
</table>
<强>的Javascript :
var tbl = document.getElementById("myTable");
var links = tbl.getElementsByTagName("a");
for (var i = 0; i < links.length; i++)
links[i].style.display = "none";
那应该将它们全部藏在你的桌子里。