我加载了一个创建表单的外部JS,我想更改其中一个输入的占位符。 我尝试在包含表单的div之后编写函数,并通过名称或类来定位输入。 也许只是加载的脚本阻止了占位符的更改......
document.getElementsByClassName('squeezer-widget-input-code').placeholder = 'Enter your Code';
<script type="text/javascript" src="https://dl.squeezer.fr/widget"></script>
<div class="squeezer-widget"></div>
答案 0 :(得分:0)
您可以使用MutationObserver
并监听DOM更改,以便为<FORM>
var MutationObserver = window.MutationObserver;
var list = document.querySelector('.squeezer-widget');
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
if (mutation.type === 'childList') {
var elem = document.querySelector('.squeezer-widget-input');
if (elem != null)
document.querySelector('.squeezer-widget-input').placeholder = 'Enter your Code';
}
});
});
observer.observe(list, {
attributes: true,
childList: true,
characterData: true
});
<script type="text/javascript" src="https://dl.squeezer.fr/widget"></script>
<div class="squeezer-widget"></div>
注意:没有squeezer-widget-input-code
选择器的元素,因此使用了squeezer-widget-input
请阅读What do querySelectorAll, getElementsByClassName and other getElementsBy* methods return?