用JQuery包装html字符串
所以我做了以下几把小提琴: 代码: 为什么这两种方法不同 编辑: 顺便说一下,这是JQuery 1.10.1。用JQuery包装html字符串,jquery,Jquery,所以我做了以下几把小提琴: 代码: 为什么这两种方法不同 编辑: 顺便说一下,这是JQuery 1.10.1。var$elts=(“.c”,$html)考虑元素(外部)div 当 $elts=$(“.c”,“$(html))认为div具有.c,这是因为第一个div不是jquery对象: var $elts = (".c", $html); 执行(“.c”,$html)只意味着var将等于括号内的最后一个值,即jQuery$html对象 测试一下,试试这个 var $elts = ('anyt
var$elts=(“.c”,$html)代码>考虑元素(外部)div
当
$elts=$(“.c”,“$(html))
认为div具有.c
,这是因为第一个div不是jquery对象:
var $elts = (".c", $html);
执行(“.c”,$html)
只意味着var将等于括号内的最后一个值,即jQuery$html对象
测试一下,试试这个
var $elts = ('anything', 4);
console.log($elts) // = 4;
如果执行var$elts=$('.c',$html)
,两个日志将相同:
很抱歉,我不理解您的解释,请您详细说明一下。第一个语句考虑外部(仅限父div),因为您没有使用$
。而第二条语句考虑了类c
的元素数量。明白了吗?你对(“.c”、$html)有什么期望
?@j08691我期望一个jquery对象包含类为c的元素,因此在本例中是两个内部div元素。但是如果括号前面没有$
,它就不是jquery对象。只有内部的$html
是jQuery对象,其余的被忽略。你可以有(“foo”,$html)
仍然得到1的结果。(“逗号运算符声称另一个受害者,$html)
@j08691您完全正确,只是缺少$。哇,那句夹杂着你名字的评论让我笑了:)
var $elts = (".c", $html);
var $elts = ('anything', 4);
console.log($elts) // = 4;