Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.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函数中div的最后一个子级_Javascript_Jquery - Fatal编程技术网

获取Javascript函数中div的最后一个子级

获取Javascript函数中div的最后一个子级,javascript,jquery,Javascript,Jquery,我使用了一段相当简单的代码,并将其包装到一个函数中,该代码从div中的项构建了一个滑出菜单。我现在尝试从div中获取最后一个子项: experimentOne('#experimentOne'); function experimentOne(masterContainer) { var experimentOneMenuButton = $('masterContainer :last-child'); ... etc 但是,这会在日志中返回[]。当我检查宽度时,应该是1

我使用了一段相当简单的代码,并将其包装到一个函数中,该代码从div中的项构建了一个滑出菜单。我现在尝试从div中获取最后一个子项:

experimentOne('#experimentOne');

   function experimentOne(masterContainer) {
   var experimentOneMenuButton = $('masterContainer :last-child');
   ... etc
但是,这会在日志中返回[]。当我检查宽度时,应该是1420,而不是100px,我猜是窗口宽度

如果我只是通过在所有内容中编码来获取ID的最后一个子项,这很好,但我希望函数尽可能可重用


谢谢。

如果您的masterContainer是一个元素,请尝试以下操作:

var experimentOneMenuButton = $(':last-child', masterContainer);
或者,如果它是元素id的字符串,则为

var experimentOneMenuButton = $('#'+masterContainer+' :last-child');

如果masterContainer是元素,请尝试以下操作:

var experimentOneMenuButton = $(':last-child', masterContainer);
或者,如果它是元素id的字符串,则为

var experimentOneMenuButton = $('#'+masterContainer+' :last-child');

masterContainer
是一个包含父容器值的变量,因此在构建选择器时,需要将其与字符串连接一起使用

var experimentOneMenuButton = $(masterContainer + ' :last-child');
也可以使用基于上下文的查找

var experimentOneMenuButton = $(':last-child', masterContainer);
我推荐第二种解决方案,它使用上下文基础查找,因为它更整洁


演示:

masterContainer
是一个包含父容器值的变量,因此在构建选择器时,需要将其与字符串连接一起使用

var experimentOneMenuButton = $(masterContainer + ' :last-child');
也可以使用基于上下文的查找

var experimentOneMenuButton = $(':last-child', masterContainer);
我推荐第二种解决方案,它使用上下文基础查找,因为它更整洁

演示:

  • 使用“#”选择id为的元素
  • 您需要使用“>”将直接子元素作为目标,[space]将元素的所有子元素作为目标

    $(“#主容器>:最后一个子容器”)

      • 使用“#”选择id为的元素
      • 您需要使用“>”将直接子元素作为目标,[space]将元素的所有子元素作为目标

        $(“#主容器>:最后一个子容器”)


        • 管柱内的容器不会起任何作用。我认为应该是:

          $(masterContainer).find(':last-child');
          
          还要注意,
          experimentOne(“#experimentOne”)将发送一个字符串而不是jQuery对象。这需要
          experimentOne($('#experimentOne'),将留下:

          experimentOne($('#experimentOne'));
          
             function experimentOne(masterContainer) {
             var experimentOneMenuButton = masterContainer.find(':last-child');
             // Note the lack of jQuery wrapper around masterContainer in this version
          

          取决于您是要在参数中还是在函数本身中强制jQuery对象

          字符串中的容器将不会起任何作用。我认为应该是:

          $(masterContainer).find(':last-child');
          
          还要注意,
          experimentOne(“#experimentOne”)将发送一个字符串而不是jQuery对象。这需要
          experimentOne($('#experimentOne'),将留下:

          experimentOne($('#experimentOne'));
          
             function experimentOne(masterContainer) {
             var experimentOneMenuButton = masterContainer.find(':last-child');
             // Note the lack of jQuery wrapper around masterContainer in this version
          

          取决于您是要在参数中还是在函数本身中强制jQuery对象

          您的连接错误。试着这样做:
          $(masterContainer+:最后一个子项)
          您的连接错误。试着这样做:
          $(masterContainer+':最后一个子项)

          如果“masterContainer”应该是一个id,那么
          $(“#”+masterContainer+':最后一个子项”)'masterContainer:last child'
          应该是
          masterContainer+':last child'
          ,或者更好的是
          $(masterContainer).children().last()
          函数期望的“masterContainer”是什么?一串HTMLElementObject?var-experimentOneMenuButton=$(主容器).children().last();如果“masterContainer”应该是一个id,那么
          $(“#”+masterContainer+”:最后一个子项)'masterContainer:last child'
          应该是
          masterContainer+':last child'
          ,或者更好的是
          $(masterContainer).children().last()
          函数期望的“masterContainer”是什么?一串HTMLElementObject?var-experimentOneMenuButton=$(主容器).children().last();作品