【问题标题】:Click on div with javascript or jquery用javascript或jquery点击div
【发布时间】:2016-10-11 19:30:15
【问题描述】:

我有一个可点击的 div,我想知道如何使用 javascript 或 jquery 来自动点击它。

我的 div 是这样的:

<div style="display:none;" id="button">Hello</div>

当显示更改为阻止时,这是可点击的 div,我需要一些脚本来为我执行此操作。

我需要一些脚本,例如,当它看到 div 显示更改为阻止时,脚本必须单击 div id="button"

我已经尝试过了,但这不是我在谷歌上搜索的结果

<script type="text/javascript">

$(document).ready(function(){
  $('#button').trigger('click');
});

</script >

【问题讨论】:

标签: javascript jquery html


【解决方案1】:

这是一个JS中的例子:

<div style="display:none;" id="button">Hello</div>


<script>
  document.addEventListener('DOMContentLoaded', function() {
    var button = document.getElementById('button');
        
    button.addEventListener('click', function() {
      this.style.display = 'block';  
    })
        
    if (button.style.display === 'block') {
      button.click()
    }
  });
</script >

更新:

如果您需要在一些 javascript 操作后单击按钮,只需添加以下行:

if (button.style.display === 'block') {
  button.click()
}

更新2:

在提供的页面中,我找到了显示提到的方法div

function startChecking() {
    secondsleft -= 1e3,
    document.querySelector(".load_stream").innerHTML = "Please Wait.. " + Math.abs(secondsleft / 1e3) + " Seconds",
0 == secondsleft && (clearInterval(interval),
    $(".reloadframe").show(),
    document.querySelector(".load_stream").style.display = "none",
    $("#btn_play_s").show()
    //You need to place it here, after "show" div will be displayed
    // and display will have value "block"
  )
}

所以你可以用$('#btn_play_s').show().click()替换最后一行而不是$('#btn_play_s').show(),这就足够了。

【讨论】:

  • 但我希望它检查 div 显示,例如,当 display = block 时,它必须点击它
  • @ronaldocr 你能澄清一下when it sees that div display changed to block吗?
  • 我会给你一些例子,现在在页面上我有上面的 div 样式 display:none 我的页面上有一个代码,它会在 10 秒后改变 display:none 到 display:block 。所以我要求你帮助我找到一个代码来使它像这样,当样式变成 display:block 那么你的代码必须点击那个 div
  • @ronaldocr 你可以把if (button.style.display === 'block') { button.click() };放到任何你改变div的显示属性的地方
  • 如您所见,这是我的页面之一,tgo-tv.com/watch/channel/28.php 倒计时 10 秒后,此 div 将在倒计时时显示“btn_play_s”,我将您的代码放在头部我不知道您的代码不起作用或我放错了
【解决方案2】:

只需在您想要的任何地方使用$('#button').click();

如果您想在按钮显示首先更改时触发此事件,您需要为此创建一个事件(因为 Jquery 没有显示更改事件)。 然后触发它就是你自己:

$('#button2').on('click',function(){
    $('#button')
    .css('display','block')
    .trigger('isVisible');
});

$('#button').bind('isVisible',function() {
   alert('Clicked...!');
});


$(function(){
    $('#button').click();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="button" id="button2" value="display the button"/>
<div style="display:none;" id="button">Hello</div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-08
    • 1970-01-01
    • 2022-06-11
    • 1970-01-01
    • 2010-09-15
    相关资源
    最近更新 更多