1

私はこれをhtmlに持っています:

<ul class="ei-slider-arrows">
  <li id="arrowLeft" ><img src='images/close.png'/></li>
  <li id="arrowRight" ><img src='images/close.png'/></li>
</ul>

2つのli「矢印」にクリック機能を追加しようとしていますが、選択できません。私はこれを試しました:

this.$arrows     = this.$el.find('ul.ei-slider-arrows');
this.$arrowLR    = this.$arrows.children('li');
this.$arrowRight = this.$arrowLR.getElementById("arrowRight");

関数を追加することはできthis.$arrowLRますが、を選択することができませんarrowRight。ここでは、で試しましたが、とgetElementByIdでも試しました。get(0)get(1)

なぜそれが機能しないのか誰かが知っていますか?

私がそうすると、どちらの場合も(と)コンソールにconsole.log(this.$arrowRight)のみ表示されます。[]get()getElementById("arrowRight")

4

4 に答える 4

2

両方をIDで取得する場合は、次のスニペットを使用してください。

var arrowsBoth = $('#arrowLeft, #arrowRight');

または、それらに個別にアクセスする場合:

var arrowLeft = $('#arrowLeft');
var arrowRight = $('#arrowLeft');

また、次のように取得することもできます(また、これにより、必要以上の要素が返される可能性があります)。

var arrows = $('ul.ei-slider-arrows li');
于 2012-07-30T16:34:22.433 に答える
2

ID で要素を選択し、イベント ハンドラーをそれにバインドするだけです。

jQueryの使用

$('#arrowLeft').click(function(){

})

$('#arrowRight').click(function(){

})
于 2012-07-30T16:38:08.997 に答える
0

私は行きます:

$("#leftArrow").click(hazaa());
$("#rightArrow").click(hazaa());

function hazaa(){ }

また、クリックした矢印に応じて、少し異なることをしたい場合は、パラメータを渡すこともできます。

$("#leftArrow").click(hazaa("left"));
$("#rightArrow").click(hazaa("right"));

function hazaa(direction){ alert(direction); }
于 2012-07-30T16:34:17.393 に答える
0

$("#arrowRight")jqueryでは、$("#arrowLeft")左矢印と右矢印の両方を取得する必要があります。on()その後、 、delegate()、またはclick()を使用してハンドラーを割り当てることができます。document.getElementById("arrowLeft")またはdocument.getElementById("arrowRight")、同じ選択を行うこともできます。上記の問題の 1 つは、this.$arrowLR.getElementById("arrowRight");dom 要素のリストを含む jquery オブジェクトで JavaScript 関数を使用しようとしていることです。

于 2012-07-30T16:38:31.010 に答える