javascript - 为什么选择器末尾和结束引号之间需要有一个空格?

标签 javascript jquery html jquery-selectors string-concatenation

代码中的注释显示了选择器后面的空格位置。如果我删除结束引号之前的空格,代码就会中断,我不明白为什么。有人可以解释一下吗?谢谢。

<script type="text/javascript">

    $("document").ready(function() {    
        buildBookmarks('h3', 'header'); 
    }); 

    function buildBookmarks(strWhichTag, sBookMarkNode) {

        var cAnchorCount = 0;
        var oList = $("<ul id='bookmarksList'>"); 

下面是结束后的空格)

        $("div:not([id=header]) " + strWhichTag).each(function() {
            $(this).html("<a name='bookmark" + cAnchorCount + "'></a>" + $(this).html());
            oList.append($("<li><a href='#bookmark" + cAnchorCount++  + "'>" + $(this).text() + "</a></li>"));
        });

        $("#" + sBookMarkNode).append(oList);
    }
</script>

最佳答案

显然 strWhichTag 包含另一个选择器,当这两个选择器字符串连接时,它旨在表示 div:not(...) 的子级。

例如,考虑 div.foo(类名为“foo”的 div)和 div .foo(类名为“foo”的元素)之间的区别,它是 div 的子级)

关于javascript - 为什么选择器末尾和结束引号之间需要有一个空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23620837/

相关文章:

javascript - 在 JavaScript 中将参数作为字符串并转换为数字

javascript - 检查表格中的每个单元格是否等于上面的单元格

父元素中的 HTML CSS 表格填充空间

c# - 使用样式定义解析类属性

javascript - 无法从 JavaScript 客户端访问 Thinktecture IdentityServer3 上的登录

javascript - 数组上的自定义 .toString() 方法

javascript - Node.js 新要求()

javascript - JQuery drop down bobs 连续上下

javascript - html5 3d, Canvas ,three.js

css - CSS 动态 Div 标签调整为静态 Div 标签的问题