動的に追加されたリンクに自動クリックしたい。これが私のスクリプトです
document.write("<a id="tikla" href="http://www.example.org">tikla</a>");
$("#tikla").click();
ただし、リンクが動的に追加されたオブジェクトであるため、機能しません。これを行う正しい方法は何ですか?
回答:
回答№1は2あなたは何をしようとしているのですか? hrefの場所に行きたいだけのようですか?
もしそうなら、あなたはただ行くことができます
window.location.href = "http://www.example.org";
回答№2については2
クリックイベントをトリガーする前に、クリックハンドラーを追加する必要があります
document.write("<a id="tikla" href="http://www.example.org">tikla</a>");
$("#tikla").click(function(){
alert("clicked");
});
$("#tikla").click();
動的に追加された要素のイベントをバインドするために、jQueryは提供します イベント委任 jQueryを使って に().
委任されたイベントには、からのイベントを処理する 子孫要素は後で文書に追加されます。によって その時点で存在することが保証されている要素を選択する 委任されたイベントハンドラが添付されている場合、委任されたイベントを使用して イベントハンドラを頻繁にアタッチしたり削除したりする必要はありません。
$( "#staticparent" ).on( "click", "#tikla", function() {
alert("clicked");
});
回答№3の場合は1
あなたもこのようにそれを試すことができます...
document.write("<a id="tikla" href="http://www.example.org">tikla</a>");
window.location.href = $("#tikla").attr("href");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
回答№4の場合は1
つかいます
$("#tikla").get(0).click();
なぜなら、dom要素のクリックをエミュレートする必要があるからです。
$("#tikla").click();
そのアンカー要素にバインドされたjqueryクリックイベントをトリガーします。あなたの場合、アンカー要素にバインドされているものは何もありません。
回答№5の場合は1
これを試して、
$("<a id="tikla" href="http://www.example.org">tikla</a>")
.appendTo("body") // appendto body
.get(0).click(); // triggering click to itself
$("<a id="tikla" href="http://www.example.org">tikla</a>")
.appendTo("body")
.get(0).click();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
答え№6の場合は0
var myLink = document.getElementById("tikla");
myLink.click();
皆さん、ありがとうございましたが、InternetExplorerでは誰も機能しませんでした。この単純なJavaScriptはすべてのブラウザで機能することがわかりました。