Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.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 将find()链接到val()_Javascript_Jquery_Jquery Chaining - Fatal编程技术网

Javascript 将find()链接到val()

Javascript 将find()链接到val(),javascript,jquery,jquery-chaining,Javascript,Jquery,Jquery Chaining,有没有办法在val()之后链接find() 例如,给定以下代码,我想清除所有输入的值,但只切换类为.required的输入的required属性: $('#some-selector') .find(':input') .val('') .find('.required') .prop('required', someBoolean); 从中可以明显看出,val()返回字符串、数字或数组。在我看来,find()不会对这个返回值起作用,因为我认为它需要一个jQue

有没有办法在
val()
之后链接
find()

例如,给定以下代码,我想清除所有输入的值,但只切换类为
.required
的输入的
required
属性:

$('#some-selector')
    .find(':input')
    .val('')
    .find('.required')
    .prop('required', someBoolean);
从中可以明显看出,
val()
返回字符串、数字或数组。在我看来,
find()
不会对这个返回值起作用,因为我认为它需要一个jQuery对象

所以有几个问题:

  • 我在jQuery理解方面的差距在哪里,以至于我试图将
    find()
    链接到
    val()
  • 我将如何实现我的要求:我想清除所有输入,并在那些带有class
    .required
    的输入上切换required

  • 谢谢大家!

    问题不在于链接,而在于重复使用
    find()

    第一个
    find()
    检索所有
    :输入
    元素并清除它们的值,这很好。然而,第二个
    find()
    正在所有那些
    输入
    元素中搜索
    .required
    。这不能有效,因为
    输入
    不能有子元素(除了
    选择
    ,但在这种情况下不适用)

    相反,您需要在当前集合中搜索类为
    required
    的元素。为此,请改用
    filter()

    $('#some-selector')
      .find(':input').val('')
      .filter('.required').prop('required', someBoolean);
    

    我认为你的逻辑是有缺陷的,输入不能有任何子项,因此你不能对它们执行
    。查找