2014-08-30 59 views
6

因此,我正在写一个脚本,可以在页面上运行,但我想点击这个元素,不幸的是,它没有id得到,我正在尝试使用.click()函数在它上面,但它不起作用,这是我的,有人知道如何解决它?这是班上唯一的元素也Javascript单击元素按类

var classes = document.getElementsByClassName('rateRecipe btns-one-small'); 
var Rate = classes[0]; 
Rate.click(); 
+1

“*这是类中唯一的元素*” - 好的,唯一带有* which * class的元素,在选择器中列出了* two *。 – 2014-08-31 00:01:05

+0

在rateRecipe类和btns-one-small – 2014-08-31 00:03:03

+1

如果您有关于DOM选择的问题,您需要发布您选择的DOM,以便我们可以看到错误。否则,我们只是猜测。 – 2014-08-31 01:06:12

回答

17

我建议:

document.querySelector('.rateRecipe.btns-one-small').click(); 

上面的代码假设给定元素具有这些类的两个;否则,如果空间是为了暗示的祖先后代关系:

document.querySelector('.rateRecipe .btns-one-small').click(); 

getElementsByClassName()接受一个类名(而不是document.querySelector()/document.querySelectorAll(),这需要一个CSS选择器),你通过两种方法(大概是班级名称)。

参考文献:

+1

仅供参考,'getElementsByClassName'接受多个类,因此@ user3010773的原始代码将很好地工作,如果他试图选择一个具有这两个类的单个元素。 http://jsfiddle.net/u94wtpcn/ – 2014-08-31 01:03:47