我正在学习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'>");
这里我可以选择使用单引号和双引号,或者我需要保持相同的级别,如使用双引号并在其中使用单引号
我正在学习它,所以任何帮助都会得到满足
答案 0 :(得分: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'
一样。
这取决于您的口味,但通常在外面使用单引号更实用,因为您可以在字符串中使用大部分时间使用的双引号。
答案 1 :(得分:2)
让我们说
var strWhichTag = 'span';
$("div:not([id=header])" + strWhichTag)
评估为$("div:not([id=header])span")
//没有div
和span
等同的标记
但如果相同的是$("div:not([id=header]) span")
..它会尝试查找div tag which does not have given id
答案 2 :(得分:0)
我不知道strWhichTag
是什么,但我们假设它是一个像.class
没有空格,您不会看到div
不是#header
且类class
。
<div class='class'></div>
这没关系。
使用空格,您正在寻找class
而非div
内的#header
类元素。
<div><img class='class' /></div>
在这里,它会选择img
。