我试图创建一个Greasemonkey用户脚本,点击页面上的一个div。他们没有引用链接,更可能是JS / Ajax功能,但我无法判断这是否属实。所以问题是这个脚本什么都不做。 Jquery函数如.remove()工作,但.click()不工作。究竟出了什么问题?我试着在这个主题上搜索问题,但似乎都没有帮助。
页面上的代码:
<div style="display: block;" class="oitm">
<div class="item">
<img class="smallimg" src="">
</div></div>
<div style="display: none;" class="oitm">
<div class="item">
<img class="smallimg" src="">
</div></div>
我的代码:
$( document ).ready(function() {
var reqItem = $('.oitm[style*="display: block"]');
$(reqItem).click();
});
请注意,
reqItem.click();
不起作用。
Upd:还有一个jquery代码,但是它放在我上面发布的元素之外(#offer.left是一个元素,其中一个被点击的项目应该在它之后出现&#39 ; s点击)。
<script>
$("#offer").on( "click", ".item", function() {
if ($('#offer .left').children().size() < 9) {
$(this).parent().appendTo('#offer .left');
}
});
</script>
答案 0 :(得分:1)
您的代码按预期工作:http://jsfiddle.net/5zddqx28/。
JS:
$( document ).ready(function() {
$('.oitm[style*="display: block"]').click(function() {
alert('clicked');
});
var reqItem = $('.oitm[style*="display: block"]');
$(reqItem).click();
});
确保在<{1}} .click();
电话前点击 onclick听众。
答案 1 :(得分:0)
您的代码运行良好:
<div style="display: block;" class="oitm">
<div class="item">Top Div
<img class="smallimg" src="">
</div>
</div>
<div style="display: none;" class="oitm">
<div class="item">Bottom Div
<img class="smallimg" src="">
</div>
</div>
$( document ).ready(function() {
var reqItem = $('.oitm[style*="display: block"]').click();
$(reqItem).on('click',function(){ alert('I was clicked'); });
$(reqItem).click();
});
答案 2 :(得分:0)
查看style属性的选择器仅适用于以完全相同的方式格式化样式的浏览器,或者在解析代码时将属性保留为原始格式。您可以使用doPut
选择器查找可见元素:
:visible