在javascript字符串中使用符号和

在javascript字符串中使用符号和,javascript,jquery,html,Javascript,Jquery,Html,我有以下代码: <script> var array = ["test1", "test2", "test & test"]; $(document).ready(function() { for (i = 0; i < array.length; i++) { $("#" + array[i]).hide(); } }); </script> <ul> <li id="test

我有以下代码:

<script>
  var array = ["test1", "test2", "test & test"];
  $(document).ready(function() {
      for (i = 0; i < array.length; i++) {
          $("#" + array[i]).hide();
      }
  });
</script>

<ul>
  <li id="test1"></li>
  <li id="test2"></li>
  <li id="test & test"></li>
</ul>

var数组=[“test1”、“test2”、“test&test”];
$(文档).ready(函数(){
对于(i=0;i
  • 在使用Javascript/JQuery时,我想隐藏一些部分。 但是,上面的代码给了我一个语法错误

    我该怎么做才能将listitem中的id与javascript字符串进行比较? 我已经尝试过在javascript中用
    “&;”
    “&;”


    由于我从数据库中获取listitem的id,因此我不希望更改这一侧。

    在元素的id中不能使用空格

    您可能不想在元素的id中使用符号and,但如果确实需要,您可以在css选择器中使用一个反斜杠,在jQuery选择器中使用两个反斜杠来转义
    &

    在您的示例中:

    var数组=[“test1”、“test2”、“test\\\&test”];
    $(文档).ready(函数(){
    对于(i=0;i
    
    
    

    id不能包含空格

    将您的id“test&test”替换为“test\u test”,它将正常工作

    <ul>
        <li id="test1">a</li>
        <li id="test2">b</li>
        <li id="test_test">c</li>
    </ul>
    
    • a
    • b
    • c
    和js

    var array = ["test1", "test2", "test_test"];
    $(document).ready(function() {
    
      for (i = 0; i < array.length; i++) {
        $("#" + array[i]).hide();
      }
    
    });
    
    var数组=[“test1”、“test2”、“test_test”];
    $(文档).ready(函数(){
    对于(i=0;i
    或者如果您真的需要使用符号并在js数组中使用
    \\


    一个
    id
    不能包含空格字符;至于它是否可以在删除空白的情况下工作(使
    id=“test&test”
    ),我不确定,尽管我怀疑会,但您可能必须在CSS选择器中避开符号和。id和名称标记必须以字母
    ([a-Za-z])
    开头,后面可以跟任意数量的字母、数字
    ([0-9])
    ,连字符
    (“-”)
    、下划线
    (“”)
    、冒号
    (“:”
    )和句点
    (“)
    @KurtVandenBranden是一个旧规范,而不是html5规范