从ul jQuery中删除li

时间:2016-12-12 07:04:24

标签: javascript jquery html

我有一个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>

4 个答案:

答案 0 :(得分:3)

带空格的标识符在HTML中无效。我建议你使用有效的标识符。

但是,根据您的需要,您可以使用Attribute Equals Selector [name=”value”]

$('[id="ID of element"]').remove(); 

&#13;
&#13;
$('[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;
&#13;
&#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();