无法在javascript中使用点和短划线字符读取id

时间:2015-07-20 09:06:18

标签: javascript

我有一个id为" Ribbon.ListItem.Manage.ViewProperties-Large" 的div。 我无法使用javascript隐藏它。我正在使用\\来逃避点但它不起作用。下面是我的代码。

document.getElementById("Ribbon\\.ListItem\\.Manage\\.ViewProperties-Large  ").style.display = "none";

它给出了以下错误。

TypeError: document.getElementById(...) is null

4 个答案:

答案 0 :(得分:1)

使用getElementById时,无需转义.,因为我们没有使用选择器

document.getElementById("Ribbon.ListItem.Manage.ViewProperties-Large").style.display = "none";

但是如果你使用jQuery那么你将不得不逃避选择器相关的字符,如.$#

$('#Ribbon\\.ListItem\\.Manage\\.ViewProperties-Large').hide()

答案 1 :(得分:1)

将ID传递给document.getElementById时,您无需转义任何内容。它知道它是一个id,而不是一个选择器。

document.getElementById("Ribbon.ListItem.Manage.ViewProperties-Large  ").style.display = "none";

您可能还想删除尾随空格。

答案 2 :(得分:0)

使用getElementById时请勿使用转义字符。用作

document.getElementById('Ribbon.ListItem.Manage.ViewProperties-Large').style.display = "none";

您可以在http://jsbin.com/tuwaruhusu/1/edit?html,js,console,output

看到一个简单的实现

答案 3 :(得分:0)

试试这个。 希望它有所帮助。

<style> #Ribbon\.ListItem\.Manage\.ViewProperties-Large{display:none;} </style>