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

jquery function works after single space in quotes

本文关键字:单个 空格 工作 函数 jquery      更新时间:2023-09-26

我正在学习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'>");

这里我可以交替使用单引号和双引号吗?或者我需要保持相同的水平,比如使用双引号并在其中使用单引号

我正在学习它,所以任何帮助都会通知

第一个问题

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

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

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

与不同

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

第二个问题:

引号的"层次结构"无关紧要,"text'foo'dd"可以,就像'text"foo"dd'一样。

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

比方说

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 内的所有跨度

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

如果没有空格,则不会看到不是#header且具有类classdiv

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

这没关系。

使用空格,您将在div而不是#header中查找类为class的元素。

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

在这里,它将选择img