This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center
                            
                        
                    
                
                                6年前关闭。
            
                    
我正在使用三星SDK并为智能电视修改JavaScript应用。我偶然发现了这段代码,但我不明白if($('.menuButton').push()){...的作用。本机推送功能没有被覆盖,但是仍然可以使用。我以为push会将元素添加到数组,但是事实并非如此

if(direction==tvKey.KEY_ENTER){
        if($('.menuButton').push()){
            $('.simple_menu').slideDown('easy');
     ........

最佳答案

在JQuery选择器上调用.push(x)的行为与在Javascript中的普通数组上调用.push(x)的行为相同。

W3SchoolsMozilla Developer Network


  push()方法将新项目添加到数组的末尾,并返回新的长度。





  返回:方法所基于的对象的新length属性。
  被称为。


如果没有将任何参数传递给.push(),则该数组保持原样,并且仍返回长度。
因此,这里发生的是返回了数组长度并用于评估if语句。

例:
以下将返回p标记的数量:

$("p").push();


但要注意:
JQuery对象的.push方法为marked for internal use only,因此不应依赖于此方法。

关于javascript - jQuery推送功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14524024/

10-13 08:55