jquery 有人能解释一下语句中.瓦尔(“-”)的用途吗?

ecr0jaav  于 2023-01-20  发布在  jQuery
关注(0)|答案(2)|浏览(120)

有人能解释一下语句中. val("-")的用途吗?
在下面的代码中,我们是否将change事件分配给value ="-"的下拉列表?在change函数中添加$tbApplications的目的是什么?

$tbApplications = $("#tbApplications");

$("select", $tbApplications).val("-").on("change", function () {
 .....
});
<table style="border-collapse:collapse; width:100%" id="tblApplications">
   <tbody id="tbApplications">
      <tr id="trApplication_10147658" data-applicationid="10147658">
         <td class="tcenter" data-applicationid="10147658" data-reviewerid="87848165" data-placement="bottom" data-toggle="popover" data-content="<strong>Name:</strong> Hachem, Ramsey<br><strong>Institution:</strong> Washington University<br><strong>Title:</strong> Isolation of Pseudomonas aeruginosa from Respiratory Specimens after Lung Transplantation and the Development of Chronic Lung Allograft Dysfunction" data-original-title="" title="" style="width: 50px; box-sizing: border-box;">
            <select class="form-control form-control-sm" id="optRole_87848165_10147658" data-originalrole="18430" data-oprid="2013738" data-applicationid="10147658" data-reviewerid="87848165">
               <option value="-">-</option>
               <option value="18417">B</option>
               <option value="18414">1</option>
            </select>
         </td>        
      </tr>
      <tr id="trApplication_10147470" data-applicationid="10147470">
         <td class="tcenter" data-applicationid="10147470" data-reviewerid="87848165" data-placement="bottom" data-toggle="popover" data-content="<strong>Name:</strong> Morrell, Eric<br><strong>Institution:</strong> University of Washington<br><strong>Title:</strong> Identifying Lung and Plasma Molecular Determinants for CLAD after Respiratory Viral Infection" data-original-title="" title="" style="box-sizing: border-box;">
            <select class="form-control form-control-sm" id="optRole_87848165_10147470" data-originalrole="18432" data-oprid="2070118" data-applicationid="10147470" data-reviewerid="87848165">
               <option value="-">-</option>
               <option value="18417">B</option>
               <option value="18414">1</option>
            </select>
         </td>        
      </tr>
   </tbody>
</table>
bvhaajcl

bvhaajcl1#

jQuery文档中我们可以使用带有以下参数的$()

jQuery(选择器[,上下文])
selector包含选择器表达式的字符串
context用作上下文的DOM元素、文档、jQuery或选择器
选择器上下文默认情况下,选择器从文档根目录开始在DOM中执行搜索。但是,可以使用$()函数的可选第二个参数为搜索提供替代上下文。例如,要在事件处理程序中执行搜索,可以如下限制搜索:

$( "div.foo" ).click(function() {
  $( "span", this ).addClass( "bar" );
});

当范围选择器的搜索被限制在这个的上下文中时,只有被单击的元素中的范围将获得额外的类。
在内部,选择器上下文是用.find()方法实现的,因此

$( "span", this )

等于$( this ).find( "span" )

j1dl9f46

j1dl9f462#

jQuery实现了fluent interface,这意味着不是专门用于查找值的方法返回调用它们的对象,这允许您将方法链接在一起,以便对相同的元素执行多个操作。

$("select", $tbApplications).val("-").on("change", function () {
 .....
});

相当于:

let temp = $("select", $tbApplications);
temp.val('-');
temp.on("change", function () {
 .....
});

temp#tbApplications中所有select元素的集合,它将所有这些元素的值设置为-,然后向所有这些元素添加一个change侦听器。
$()的第二个参数是在其中搜索第一个参数中的选择器的上下文。$(selector, context)等效于context.find(selector)$(context).find(selector),具体取决于context是jQuery对象还是其他对象。

相关问题