我有一个id可能包含空格的列表。我使用了两种方法从ul中删除li(通过id)
var element = document.getElementById(<name_of_id>);
$(element).remove();
var element = document.getElementById(<name_of_id>);
element.parentNode.removeChild(element);
它们都不起作用!请帮忙
这是我的HTML:
<li value='A 1' id='A 1'></li>
答案 0 :(得分:3)
带空格的标识符在HTML中无效。我建议你使用有效的标识符。
但是,根据您的需要,您可以使用Attribute Equals Selector [name=”value”]
$('[id="ID of element"]').remove();
$('[id="remove this li"]').remove()
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li>one</li>
<li id="remove this li">two</li>
<li>three</li>
</ul>
&#13;
答案 1 :(得分:2)
对于HTML 4:
ID和NAME令牌必须以字母([A-Za-z])开头,可能是 后跟任意数量的字母,数字([0-9]),连字符(&#34; - &#34;), 下划线(&#34; _&#34;),冒号(&#34;:&#34;)和句号(&#34;。&#34;)。
对于HTML 5:
id必须至少包含一个字符,并且不能包含任何字符 空间人物。
首先,你应该清楚那个空格。然后,你可以使用它:
$("#YourElementId").remove();
答案 2 :(得分:0)
带空格的ID无效,但您可以使用此功能删除li: -
var node = document.getElementById('id');
node.parentNode.removeChild(node);
答案 3 :(得分:0)
我找到了答案。由于我的id被传递给一个函数,所以它们包含在变量中。这是它的工作原理:
vmTemplateName = "'"+vmTemplateName+"'"; //id name
$("[id="+vmTemplateName+"]").remove();