- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不明白为什么 $elm 的范围在 jQuery every 循环中丢失。 $elm 的范围在第 76,77 行上是固定的,然后在第 78 行的循环中丢失。我做错了什么?
这是显示代码的图像。
我添加了这张图片(引用我的评论)作为证据,证明只要以任何方式引用 $elm ,我就可以在控制台上使用它。
最佳答案
编辑:
事实证明,真正的问题是OP没有看到 $elm
的值(value)当位于 .each()
内的断点时,会自动在 Chrome 调试器中列出环形。这是因为 Chrome 仅在 scope variables
中显示实际本地作用域中使用的变量。调试器部分和 $elm
此时位于父作用域中,而不是本地作用域中。
通过将变量的名称放入监视表达式中,可以查看作用域内的任何变量,包括父作用域中的变量。
<小时/> jQuery.each()
套this
到 .each()
中正在迭代的项目打回来。如果你想要外层this
为了易于访问,常见的解决方法是:
var self = this;
然后引用self
里面.each()
处理程序。
但是,既然你已经这样做了:
var $elm = this;
您可以使用 $elm
里面就好了.each()
处理函数。
在 javascript 中,您应该记住所有函数调用都会更改 this
的值根据函数的调用方式。
在我看来,你应该检查一下 this
在将其分配给 $elm
之前设置为因为那里可能是错误的。如果是这种情况,那么问题可能出在您如何调用 recurseHtml()
上。这会导致您失去所需的 this
值.
请记住,在 Javascript 中,每个函数调用都会更改 this
的值根据函数的调用方式。常规函数调用会清除 this
的值(如果在严格模式下运行,则为全局对象或undefined
)。方法调用集this
成为调用该方法的对象。可以使用.apply()
或.call()
或.bind()
指定 this
的精确值.
关于jquery - jQuery 每个函数的作用域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26516717/
C语言sscanf()函数:从字符串中读取指定格式的数据 头文件: ?
最近,我有一个关于工作预评估的问题,即使查询了每个功能的工作原理,我也不知道如何解决。这是一个伪代码。 下面是一个名为foo()的函数,该函数将被传递一个值并返回一个值。如果将以下值传递给foo函数,
CStr 函数 返回表达式,该表达式已被转换为 String 子类型的 Variant。 CStr(expression) expression 参数是任意有效的表达式。 说明 通常,可以
CSng 函数 返回表达式,该表达式已被转换为 Single 子类型的 Variant。 CSng(expression) expression 参数是任意有效的表达式。 说明 通常,可
CreateObject 函数 创建并返回对 Automation 对象的引用。 CreateObject(servername.typename [, location]) 参数 serv
Cos 函数 返回某个角的余弦值。 Cos(number) number 参数可以是任何将某个角表示为弧度的有效数值表达式。 说明 Cos 函数取某个角并返回直角三角形两边的比值。此比值是
CLng 函数 返回表达式,此表达式已被转换为 Long 子类型的 Variant。 CLng(expression) expression 参数是任意有效的表达式。 说明 通常,您可以使
CInt 函数 返回表达式,此表达式已被转换为 Integer 子类型的 Variant。 CInt(expression) expression 参数是任意有效的表达式。 说明 通常,可
Chr 函数 返回与指定的 ANSI 字符代码相对应的字符。 Chr(charcode) charcode 参数是可以标识字符的数字。 说明 从 0 到 31 的数字表示标准的不可打印的
CDbl 函数 返回表达式,此表达式已被转换为 Double 子类型的 Variant。 CDbl(expression) expression 参数是任意有效的表达式。 说明 通常,您可
CDate 函数 返回表达式,此表达式已被转换为 Date 子类型的 Variant。 CDate(date) date 参数是任意有效的日期表达式。 说明 IsDate 函数用于判断 d
CCur 函数 返回表达式,此表达式已被转换为 Currency 子类型的 Variant。 CCur(expression) expression 参数是任意有效的表达式。 说明 通常,
CByte 函数 返回表达式,此表达式已被转换为 Byte 子类型的 Variant。 CByte(expression) expression 参数是任意有效的表达式。 说明 通常,可以
CBool 函数 返回表达式,此表达式已转换为 Boolean 子类型的 Variant。 CBool(expression) expression 是任意有效的表达式。 说明 如果 ex
Atn 函数 返回数值的反正切值。 Atn(number) number 参数可以是任意有效的数值表达式。 说明 Atn 函数计算直角三角形两个边的比值 (number) 并返回对应角的弧
Asc 函数 返回与字符串的第一个字母对应的 ANSI 字符代码。 Asc(string) string 参数是任意有效的字符串表达式。如果 string 参数未包含字符,则将发生运行时错误。
Array 函数 返回包含数组的 Variant。 Array(arglist) arglist 参数是赋给包含在 Variant 中的数组元素的值的列表(用逗号分隔)。如果没有指定此参数,则
Abs 函数 返回数字的绝对值。 Abs(number) number 参数可以是任意有效的数值表达式。如果 number 包含 Null,则返回 Null;如果是未初始化变量,则返回 0。
FormatPercent 函数 返回表达式,此表达式已被格式化为尾随有 % 符号的百分比(乘以 100 )。 FormatPercent(expression[,NumDigitsAfterD
FormatNumber 函数 返回表达式,此表达式已被格式化为数值。 FormatNumber( expression [,NumDigitsAfterDecimal [,Inc
我是一名优秀的程序员,十分优秀!