Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.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 .切换不是一个函数_Javascript_Jquery - Fatal编程技术网

Javascript .切换不是一个函数

Javascript .切换不是一个函数,javascript,jquery,Javascript,Jquery,在我的网站上我有很多按钮。当页面加载时,我需要单击第一个按钮 我尝试获取第一个按钮,然后使用函数.toggle('click') 变量$btn=$('.btn Personalizer tamanho')[0]; 如果($btn!=未定义)$btn.toggle('click') 控制台显示。toggle它不是一个函数。0]从jQuery集合返回一个DOM元素。移除它 直接使用jQuery结果,根据需要填写。例如: $(selector).toggle() (注意,切换属于jQuery对象本身

在我的网站上我有很多按钮。当页面加载时,我需要单击第一个按钮

我尝试获取第一个按钮,然后使用函数.toggle('click')

变量$btn=$('.btn Personalizer tamanho')[0]; 如果($btn!=未定义)$btn.toggle('click')


控制台显示。toggle它不是一个函数。

0]从jQuery集合返回一个DOM元素。移除它

直接使用jQuery结果,根据需要填写。例如:

$(selector).toggle()
(注意,切换属于jQuery对象本身。)

不需要检查元素是否存在。选择器必须根据需要调整为“第一个”。

试试看

document.querySelector(selector).classList.toggle('classname');


首先
[0]
返回DOM元素,而DOM元素没有切换方法,因此您会收到错误消息。其次,显示和隐藏一个元素,该元素不会触发单击事件

如果要触发单击事件,请使用
click()
trigger('click')
。要获取第一个元素,可以使用或
:first
eq(0)
获取元素

$('.btn-personalizar-tamanho').first().click()


也不需要检查jQuery是否存在该元素,因为当您链接方法时,它是在后台进行的

只需执行此操作,如果按钮存在,它将单击它

$('.btn-personalizar-tamanho').click();
如果您特别需要第一项,则添加“first”方法

如果将结果包装到另一个jquery选择器中,并将toggle方法更改为trigger,那么您的解决方案也会起作用

$btn = $('.btn-personalizar-tamanho')[0];
if($btn != undefined) $($btn).trigger('click');

呃,toggle与单击第一个按钮有什么关系?toggle()不是单击元素…本应作为重复按钮关闭,但单击了错误的按钮…@HereticMonkey这是代码的许多问题之一。@KevinB这只是问题之一。。。
$('.btn-personalizar-tamanho').first().click();
$btn = $('.btn-personalizar-tamanho')[0];
if($btn != undefined) $($btn).trigger('click');