2016-09-08 6 views
1

私はこれを見回してきましたが、この作業を行うことはできません。ユーザーアクションではなくJSアクションで、jQueryでDOM内の何かをクリックするにはどうすればよいですか?jqueryでDOMの中の何かをクリックする方法?

JS:

$('a#more').click(); 

HTML:

<a id="more" href="www.ksl.com">click</a> 

参照くださいjsfiddle:あなたはクリックをフォローしたい場合は、あなたがDOMメソッドを呼び出す必要がありhttps://jsfiddle.net/qw7b2ou3/1/

+0

jQueryのイベント自体をトリガするためにあなたが意味ですか? – Li357

+0

はい。したがって、ユーザーはそれをクリックする必要はありません。スクリプトはそれを行います – iHelpYou

+0

click()とtrigger( "click")はカバーの下で同じものです。 – epascarello

答えて

2

、ないjQueryのクリック方法。

$('a#more')[0].click(); 

または

$('a#more').get(0).click(); 

$('a#more').click();または$('a#more').trigger("click");が動作しない理由は、それが唯一の添付イベント・ハンドラをトリガするので、それは実際にリンクをクリックしないんです。

+0

ああ、どこが間違っているのか分かります。私は配列にアクセスしていないだけで$(セレクタ).click()をやっていた。私は配列の最初のインデックスにアクセスする必要がありました。ありがとう! – iHelpYou

+0

いいえ、そうではありません.... jQueryでclick()を呼び出すと、クリックされたイベントだけがトリガされます。 – epascarello

+0

@iHelpYouこの場合、 '[0]'は基本となるDOM要素を取得します。 'element.click()'を使うと、要素のクリックをシミュレートします。 – Li357

0

このJSFiddleを参照してください。あなたは、このコードコンソールが配列であなたのセレクタを記録しますわかります。

var selectMe = $('a#more'); 
console.log(selectMe); // [a#more, prevObject: n.fn.init[1], context: document, selector: "a#more"] 

あなたは、配列のインデックスにアクセスする必要がクリックしようとしている。このセレクタ要素を取得するには。ここで

selectMe[0].click(); 

はフィドルある - https://jsfiddle.net/qw7b2ou3/2/

関連する問題