フォームを作成する外部JSを読み込み、入力の1つのプレースホルダを変更したい。 フォームを含むdivの直後に関数を記述しようとし、名前またはクラスで入力をターゲットにします。 多分それは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>
MutationObserver
を使用して聴くことができ
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>
を読んで使用https://stackoverflow.com/questions/10693845/what-do-queryselectorall-getelementsbyclassname-and -other-getelementsby-method – Quentin
プレースホルダを変更しようとすると、フォームがすでに作成されていますか?おそらく、ウィジェットがロードされる前にそれを変更しようとします。 –
@Quentin、フォームは外部から作成されますが、ポイントは有効です – Satpal