2016-05-26 6 views
1

addClass('hidden')$(this)を試すと、jQueryオブジェクト[textarea.form-control.hidden, prevObject: n.fn.init[1], context: button.btn.btn-info.btn-flat.hidden, selector: "textarea"]に追加されるようですが、実際のHTML要素には追加されていないようです。私は何が欠けていますか?jQueryはHTML要素にクラスを追加しません

jsfiddle

答えて

0

あなたはすでにあなたがボタンをクリックすると、ボタンが.itemの子であるとして「.itemが」そう「.item」に関する上記の機能は再び呼び出して、メインのdivで呼び出さ機能しているためです。

e.stopPropagation();を使用すると、親divからの関数の呼び出しを停止できます。

$('.item button').click(function(e) { 
    e.stopPropagation(); 
    $parent = $(this).parent().parent(); 
    $parent.find('span').removeClass('hidden'); 
    $parent.find('textarea').addClass('hidden'); 
    $parent.find('button').addClass('hidden'); 

    console.log($parent.find('textarea')); 
    }) 

フィドル:https://jsfiddle.net/34sdrrnf/1/

関連する問題