0

http://jsfiddle.net/hdn6e/10/

ここで何が問題なのですか?最後にすべてを試しましたが、何も機能していないようです

<div class="main">
    <div class="qty" style="float:left">1</div>
    <div class="name" >A</div>    
</div>
<div id="main">
    <div class="qty" style="float:left">2</div>
    <div class="name">B</div>    
</div>
<input type="button" id="ADD">


$('#main').on('click', function(){
        $(this).addClass('selected');
    });
$('.name').on('click', function(){
        $(this).addClass('selected');
    });
$('.qty').on('click', function(){
        $(this).addClass('selected');
    });

$('#ADD').click( function(){
        $(".selected").nearest(".qty").text($(".selected").nearest(".qty").text() +1);
    });
4

2 に答える 2

1

問題が2番目<div id="main">のクラスを取得していないことである場合、それはjsfiddleの例selectedで行っているのと同じIDを持つDOMに複数のアイテムを含めることができないためです。

mainクラスに変更すると、期待どおりに機能します。

HTML

<div class="main">
    <div class="qty" style="float:left">1</div>
    <div class="name" >A</div>    
</div>
<div class="main">
    <div class="qty" style="float:left">2</div>
    <div class="name">B</div>    
</div>
<input type="button" id="ADD">

JS

$('.main').on('click', function(){
    $(this).addClass('selected');
});

デモ

于 2013-03-14T19:12:44.553 に答える
0

あなたのコードは、クリックされた各要素にCSSクラスを追加しようとしています。クラス属性を追加する場合は、次のようにします。

$('#main').on('click', function(){
    $(this).attr('class', 'selected');
});

CSSクラスを適用する場合は、スタイルタグで選択したクラスを作成します

<style>
    .selected {
        color: blue;
    }
</style>

次に、クリックした要素にそれを追加します

.addClass("selected");
于 2013-03-14T19:05:48.063 に答える