1

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

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

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

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

更改------------ strWhichTag 基本上是h3,但它不是#header 的子项

我需要知道的第二件事是

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

在这里我可以交替使用单引号和双引号还是我需要保持相同的级别,例如使用双引号并在其中使用单引号

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

4

3 回答 3

5

第一个问题

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

空格表示您正在选择div:not([id=header]);

"div:not([id=header]) div#foo"

不一样

"div:not([id=header])div#foo"

第二个问题:

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

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

于 2013-07-31T20:29:18.863 回答
2

让我们说

var strWhichTag = 'span';

$("div:not([id=header])" + strWhichTag)

计算结果为$("div:not([id=header])span")// 没有标签,其中divspan是等价的

但如果相同的是$("div:not([id=header]) span")..它会尝试找到所有跨度在div tag which does not have given id

于 2013-07-31T20:32:18.117 回答
0

我不知道是什么,strWhichTag但假设它是一个字符串.class

没有空间,你就不会寻找一个div不是#header和类的东西class

<div class='class'></div> 

这样就可以了。

使用空格,您正在寻找一个在notclass内具有类的元素。div#header

<div><img class='class' /></div> 

在这里,它将选择img.

于 2013-07-31T20:32:23.953 回答