Правильный способ сделать это Вы можете сделать это, наблюдая за прямым родителем элемента, который вы хотите проверить, давайте предположим, что ваш элемент будет добавлен на страницу в следующем div:
<div id="parent-div">
<div>child 1</div>
<div>child 2</div>
</div>
Вам нужно будет наблюдать за любым новым потомком, добавленным в #parent-div
, и запускать функцию, когда это происходит:
const callback = function(mutationsList, observer) {
for(let mutation of mutationsList) {
if( mutation.addedNodes.length > 0){
for(let node of mutation.addedNodes) {
let jqueryNode = jQuery(node);
if(jqueryNode.is('#objectPrice')){
var content = jQuery('#prisen').html();
objectPrice.value = content.replace(/\D/g,'');
}
}
}
}
};
const observer = new MutationObserver(callback);
observer.observe(jQuery('#parent-div')[0], {childList: true});
Но если вы не хотите менятьваш текущий код, вы делаете его рекурсивным и вызываете его в первый раз, как показано ниже:
var checkingFunction = function () {
if(jQuery('#objectPrice').length){
var content = jQuery('#prisen').html();
objectPrice.value = content.replace(/\D/g,'');
}else{
setTimeout(function() { checkingFunction() }, 200);
}
}
checkingFunction();