问题描述
我试图在单击按钮后返回显示值,但是它没有返回正确的值。
我的元素: <div id="my_div" style="display: none;"></div>
单击按钮后: <div id="my_div" style="display: block;"></div>
使用Javascript:
(function () {
$('#button').trigger('click');
return document.getElementById('my_div').style.display;
})();
返回:
“没有”
无需单击按钮(仅执行document.getElementById('my_div').style.display
),我将获得正确的输出:
在控制台中执行:
(function () {
return document.getElementById('my_div').style.display;
})();
返回:
“块”
1楼
使用$("#my_div).css('display')
返回显示值。
(function () { // On click $('#my_div').on('click', function(){ console.log($(this).css('display')); }); })();
/* For testing purpose */ #my_div { width:100px; height: 100px; background: #999; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <div id="my_div" style="display:block"></div>
2楼
您可以这样做。
HTML:
<div id="my_div" style="display: none;">
</div>
<button id="button"> Click </button>
JS:
const myDiv = document.getElementById("my_div");
$("button").click(function() {
console.log(myDiv.style.display);
return myDiv.style.display;
});
工作笔
3楼
这就是它的工作方式
$("#my_button").trigger('click');
setTimeout(test, 1000);
function test() { if (document.getElementById('my_div').style.display === 'block')
alert('test');
}
但我不知道这是否是最佳选择