按类单击按钮

时间:2017-06-18 09:19:54

标签: javascript

我想点击具有以下属性的Like按钮:

<span class="_49vh _2pi7">Like</span>

我尝试过以下代码,但在这种情况下不起作用:

<script>
  var inputs = document.getElementsByClassName('_49vh _2pi7');
  for(var i = 0; i < inputs.length;) {
    inputs[i].click();
  }
</script>

注意:在我的HTML页面中,我只有一个Like按钮。

5 个答案:

答案 0 :(得分:1)

你在for循环中缺少i++增量

var inputs = document.getElementsByClassName('_49vh _2pi7');
for (var i = 0; i < inputs.length; i++) {
  inputs[i].click=check
  inputs[i].click();
}
function check(){
console.log('clicked')
}
<span class="_49vh _2pi7">Like</span>

答案 1 :(得分:0)

由于您只有一个元素直接使用.click(),并且querySelector()可用于检索元素

document.querySelector('._49vh._2pi7').click();

答案 2 :(得分:0)

我希望它有效。

<span class="_49vh_2pi7">Like</span>`

<script>
$('._49vh_2pi7').on('click',function(){
   /////do somthing here.
});
</script>

答案 3 :(得分:0)

你错过了for循环中的i++。如果您将循环从for(var i=0; i<inputs.length;)更改为for(var i=0; i<inputs.length; i++),它将正常工作。

另一种更简单的方法是使用jQuery库。然后你可以简单地写$("._49vh._2pi7").click()._49vh._2pi7是按钮的CSS选择器。)

答案 4 :(得分:0)

确保您喜欢的按钮不是来自Cross Origin(Facebook,Google或来自不同的域,而不是Cors Iframe内)。 您无法访问iframe中的跨源元素。