0

ソースの例はこのようなものです

// block with caption
var caption_block = "<div class='caption-block'><h1>"+ options.title + "</h1><div class='pages'><a href='/' id='left_pg'></a><div id='counter'>"+ (i+1)+'/'+(elms+1)+"</div><a href='/' id='right_pg'></a></div></div>";

// put the elemnt with caption into the DOM
$('ul.slider').before(caption_block);

// by click in #counter TEST
$('a').bind('click',function(){

 $('#slider').find('#counter').text(" TEST ");

});

不運ですが、それはまったく何もしません。

スクリプトがdiv#counter. 入手方法は?

htmlは次のようになります

<div id="slider"><ul class="slider" /></div>
4

4 に答える 4

1

最初に、クラス名でスライダー.sliderを参照し、後で id で参照します#slider

次に、id 'a' のアンカーを持ってい#aません。おそらく$('a')、アンカー要素を参照するために使用する必要があります。

#counter第三に、あなたのセレクターは、スライダーの子ではないスライダーの内部を探しています。子としてではなく、スライダーの前に挿入されました。

動作するコードについては、このフィドルを参照してくださいhttp://jsfiddle.net/DyexP/2/

<ul id="slider" class="slider">ul</ul>​

var i = 1;
var elms = 10;
var options = {};
options.title = "title";

// block with caption
var caption_block = "<div class='caption-block'><h1>"+ options.title + "</h1><div class='pages'><a href='/' id='left_pg'></a><div id='counter'>"+ (i+1)+'/'+(elms+1)+"</div><a href='#' id='right_pg'>click me</a></div></div>";

// put the elemnt with caption into the DOM
$('ul.slider').before(caption_block);

// by click in #counter TEST
$('a').click(function(){
     $('#slider').parent().find('#counter').text(" TEST ");
});​
于 2012-09-27T16:11:04.133 に答える
1

あなたがそれを使用している方法は、を含むキャプションブロックに兄弟としてbefore追加することです. 相互の親をチェックして、スライダーを選択できます。ul.sliderdiv#counter

$('a').click(function(){
  $('#slider').parent().find('#counter').text(" TEST ");
});
于 2012-09-27T16:08:52.137 に答える
1

書くだけ$('#counter').text(" TEST ")

また、以下のようにリンクタグをバインドする必要があると思います。

$('a', $('ul.slider')).click (function () {
    $('#counter').text(" TEST ")
});
于 2012-09-27T16:08:59.310 に答える
1

これを試して、

以前と

$('a').click(function(){

    $('#slider').prev('div').find('#counter').text(" TEST ");
});

またはスライダーの親を使用

$('a').click(function(){

     $('#slider').parent.find('#counter').text(" TEST ");
});

IDで直接

$('a').click(function(){

    $('#counter').text(" TEST ");
});
于 2012-09-27T16:06:32.663 に答える