Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 理解jQuery';AJAX场景中的s.remove()方法_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 理解jQuery';AJAX场景中的s.remove()方法

Javascript 理解jQuery';AJAX场景中的s.remove()方法,javascript,jquery,ajax,Javascript,Jquery,Ajax,在jQuery In Action第3版的第10章中,有以下代码示例: $('#boot-chooser-control') .load('actions/fetch-boot-style-options.php') .change(function(event) { $('#product-detail-pane').load( 'actions/fetch-product-details.php', {

在jQuery In Action第3版的第10章中,有以下代码示例:

$('#boot-chooser-control')
    .load('actions/fetch-boot-style-options.php')
    .change(function(event) {
       $('#product-detail-pane').load(
           'actions/fetch-product-details.php',
            {
              model: $(event.target).val()
            },
            function() {
               $('[value=""]', event.target).remove();
            }
          );
       });
文档的HTML为(见下文)

在JS snippit的第7行中,只引用了一个HTML元素的值。但是第10行中的选择器(如下所示)

是否以某种方式引用指定上下文中的所有选项元素?第7行中的event.target只选择了一个元素,而第11行中的event.target引用了每个选项元素,这难道不奇怪吗


我错过了什么。。。在我看来,event.target的目标是两个不同的东西。在第7行,它只针对已选择的元素。但是在第11行,它引用了指定上下文中的所有元素

这一行选择了上下文
事件.target中的所有元素,并且没有值

此问题描述了以下方法:


因此,它不会删除任何值,而是从dom中删除整个dom对象(即“div”),我想这是在其他地方添加的(如果不是全部代码)。

它会删除
event.target
节点下具有空值属性的所有元素

例如,如果您有以下DOM:

<div id="target">
    <input value="">
    <input value="Hello">
    <input value="">
</div>
现在生成的DOM如下所示:

<div id="target">
    <input value="Hello">
</div>


感谢您以我最终理解的方式解释这一点。我想我只是需要用不同的词来听。你介意看看我修改过的问题吗。如果有任何意义,请注释
元素是您的
事件.target
,行
$(event.target).val()
返回当前所选选项的值(这就是它的工作方式,请参见此处)。行
$('[value=”“],event.target).remove()只是浏览所有没有值的选项并删除它们。您的消息帮助我更好地了解发生了什么。但我已经更新了我的问题。。。你能看一下并评论一下吗
$('[value=""]', event.target).remove();
<div id="target">
    <input value="">
    <input value="Hello">
    <input value="">
</div>
var target = document.getElementById('target');
$('[value=""]', target).remove();
<div id="target">
    <input value="Hello">
</div>