我正在使用下面的代碼來檢查類是否存在,如果存在,則顯示一個按鈕。但是,該類只能在用戶在頁面上執行某些操作后才存在 - 因此它永遠不會在頁面加載時存在。如何調整此代碼以持續檢查該類是否存在,而不僅僅是在頁面加載時?
if($(".acf-gallery-attachment").length()){
return $('.acfef-submit-button').css("display", "block");
}
編輯:
我已經調整了我的代碼以查找用戶何時單擊檔案上傳按鈕,但仍然無法使其作業:
$('.file-custom .acf-gallery-upload').click(function () {
$('.acfef-submit-button').css('display', 'block');
});
uj5u.com熱心網友回復:
不要認為這是一件好事,但是如果您希望“持續檢查”某些內容,則可以使用setInterval.
setInterval(checkSomething, 1000);
function checkSomething(){
if($(".acf-gallery-attachment").length()){
return $('.acfef-submit-button').css("display", "block");
}
}
uj5u.com熱心網友回復:
突變觀察者怎么樣?將其設定為觀察您的容器及其子項以更改班級
https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver
// Select the node that will be observed for mutations
const targetNode = document.getElementById('container');
// Options for the observer (which mutations to observe)
const config = { attributes: true, childList: true, subtree: true };
// Callback function to execute when mutations are observed
const callback = function(mutationsList, observer) {
if( $('.myclass').length ){
alert('my class is available');
}else{
alert(' my class not available');
}
};
// Create an observer instance linked to the callback function
const observer = new MutationObserver(callback);
// Start observing the target node for configured mutations
observer.observe(targetNode, config);
$('#btnAddClass').click(() =>{
$('#myspan').addClass('myclass');
})
$('#btnRemoveClass').click(() =>{
$('#myspan').removeClass('myclass');
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id = "container">
<span id="myspan"></span>
<button id="btnAddClass">
add class
</button>
<button id="btnRemoveClass">
remove class
</button>
</div>
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/326172.html
標籤:javascript html 查询
