jquery函数在引号中的单个空格后工作

Muh*_*san 1 javascript syntax jquery

我正在学习jQuery和它的新功能.我试图运行一些代码,但它没有运行,然后我发现我只需要在结束双逗号/引号之前给出一个空格"

$("div:not([id=header]) " + strWhichTag).each(function(){
    //some function          
});
Run Code Online (Sandbox Code Playgroud)

现在问题是为什么我们需要在id = header之后给出空格])如果我删除那个空格并使用这个代码,它不起作用,下面的代码不起作用但是为什么

$("div:not([id=header])" + strWhichTag).each(function(){
    //some function          
});
Run Code Online (Sandbox Code Playgroud)

CHANGES ------------------------ strWhichTag基本上是h3,但它不是#header的孩子

我需要知道的第二件事就是这个

var oList = $("<ul id='bookmarksList'>");
Run Code Online (Sandbox Code Playgroud)

在这里,我可以选择使用单引号和双引号,或者我需要保持相同的级别,如使用双引号并在其中使用sigle引号

我正在学习它,所以任何帮助都会得到满足

Mig*_*ork 5

第一个问题

jQuery的参数是一个CSS选择器.

这个空间意味着你正在选择一个孩子div:not([id=header]);

"div:not([id=header]) div#foo"
Run Code Online (Sandbox Code Playgroud)

是不一样的

"div:not([id=header])div#foo"
Run Code Online (Sandbox Code Playgroud)

第二个问题:

引号的"层次结构"无关紧要,"text'foo'dd"也可以'text"foo"dd'.

这取决于你的口味,但通常在外面使用单引号更实用,因为你可以在字符串中使用大部分时间使用的双引号.