这两个jquery表达式的含义
Meaning of this two jquery expression?
HTML CODE
<tr class="roti">
<td class="ts" rowspan="2">
<input type="text" class="form-control totalSale" id="totalSaleAmountForRoti" name='totalSaleAmountForRoti' value="0" readonly>
</td>
</tr>
<tr class="roti">
column related class="form-control totalSale"
</tr>
它们和它们的意思有什么区别?
var $class = $(this).parent().parent().attr('class');
1)
totalSale = $(this).parents('.' + $class).find('.totalSale');
2)
totalSale = $(this).parents('.' + $class).siblings('.' + $class + ':last').find('.totalSale');
下面的代码是什么意思?
if ($(this).parent().siblings().children().hasClass('.totalSale')) { ... }
First:你的代码中缺少一些HTML。
在第二个<tr>
块中,HTML无效。
第二个:对你的问题的简短回答是:No difference。
想要阅读吗?
假设HTML是这样的:
<tr class="roti">
<td class="ts" rowspan="2">
<input type="text" class="form-control totalSale" id="totalSaleAmountForRoti" name='totalSaleAmountForRoti' value="0" readonly>
</td>
</tr>
<tr class="roti">
<td class="ts" rowspan="2">
<input type="text" class="form-control totalSale" id="other_id" name='other_name' value="other_value" readonly>
</td>
</tr>
然后,在代码中定义变量$class
:
var $class = $(this).parent().parent().attr('class');
如果找到,它将被设置为祖父母的属性类的值。
这个变量定义调用由事件处理程序或绑定到元素的函数触发。
我确信这是因为$(this)
。
让我们假设它是第一个<input>
。
So $class = "roti".
.parent()是元素包装…
.parent().parent()是元素包装的第二层…
等等。
好吧?
这里有两条语句,它们试图在集合元素的子元素中.find()
一个类为"totalSale"的元素。<nbsp; >是啊,这个句子需要读两遍。
在这两种情况下,集合都是方法链的结果。结果将被存储为"totalSale"变量…如果发现。
现在,在给定的HTML中有两个类 "totalSale"的元素。
我们来看看第一个语句:
1:
totalSale = $(this).parents('.' + $class).find('.totalSale');
从第一个<input>
,- 检查父集合中是否有class = $class ("roti") ==> result为UNDEFINED的元素。
- 它不会尝试在未定义的集合中查找类为"totalSale"的子元素。
totalSale = $(this).parents('.' + $class).siblings('.' + $class + ':last').find('.totalSale');
从第一个<input>
,- 检查父集合中是否有class = $class ("roti") ==> result为UNDEFINED的元素。
- 对不起,也到此结束。
- 它不会检查在"undefined"集合中是否有一个类为"roti"的兄弟元素…当然也不是最后一个。
- 它也不会检查是否找到一个子类"totalSale"。
一切都停在#2。
你应该从这里开始阅读更多关于jQuery的内容。
建议
你至少应该知道你想从一个你不完全理解的代码样本中理解什么。
如果你不知道你想了解什么,这个社区不会有很大帮助。
必读:如何创建一个最小的,完整的,可验证的示例
相关文章:
- JavaScript中的立即调用函数表达式(IIFE)-传递jQuery
- jQuery选择器错误:无法识别的表达式
- 无法识别jQuery表达式
- jquery 1.8.0语法错误,无法识别的表达式:>
- PHP中的jQuery表达式
- JQuery无法识别的表达式[href=#undefined]
- 正则表达式 jquery 将数字替换为链接
- jQuery中的查询选择器导致无法识别的表达式
- Jquery 替换所有文本语法正则表达式中的变量
- 如何修复 jQuery 1.8“语法错误,无法识别的表达式”错误
- jQuery:语法错误,无法识别的表达式:.Marketing&通讯
- 使用jquery从angular表达式中获取内容失败
- SyntaxError:应为表达式,得到''Jquery
- 使用jQuery自动完成表达式引擎
- Jquery正则表达式剪切<脚本>标签
- 未捕获错误:语法错误,无法识别表达式Jquery选择器单引号与双引号
- 正则表达式 jQuery 不起作用
- 正则表达式 jQuery 验证器包含非英文字符
- 无法识别的表达式jquery属性选择器
- 正则表达式:JQuery检查