2016-12-06 10 views
1

私はショッピングカートを持っており、アイテムが追加されるとごみ箱アイコンが表示されます。動作する現在のスクリプトがありますが、ページ内のすべての 'onclick'関数を対象としています。私はこれを目標にしたいと思う(ゴミ箱は1​​つ)。アイコンのコードは次のとおりです。特定のクラス/ IDを呼び出す

<td class="total"> 
    <span class="close" style="color:#f00;"> 
    <i class="fa fa-trash"></i> 
    </span> 
</td> 

現在JavaScriptがこのようなものです:私はほんの始まりを示すんだけれども

$(document).ready(function() { 

$('body').on('click','.close', function(){ 
var here = $(this); 
var rowid = here.closest('tr').data('rowid'); 

は、より多くのJavaScriptをtheresの。

私はこのようなことを試みましたが、何も機能しませんでした。

$(document).ready(function() { 
    var trash = document.getElementsByClassName("fa fa-trash"); 
    trash.on('click', '.close', function(){ 
    var here = $(this); 

正しいトラックにいるかどうかわかりません。

+0

あなたは非常に奇妙な方法でjQueryと純粋なJSを混ぜています。 – TheValyreanGroup

答えて

1

私が正しくあなたを理解していれば、あなただけのゴミのアイコンにclickイベントをバインドしたいですか?

その場合は...

$(document).ready(function() { 
    $('body').on('click','.fa.fa-trash', function(){ 
    var here = $(this); //This variable now equals the clicked trash element. 
    var rowid = here.closest('tr').data('rowid'); 

さらに、それはjQueryの要素が含まれている場合、変数の前に$記号を使用することをお勧めします。そうすれば、あなたと他の誰かがコードを読んで要素を区別し、実行されるjQueryメソッドを持つ変数を知ることができます。

var $here = $(this); 
+0

ありがとうございました!できます。基本的にこれを未来のために理解すること。 $( 'body')はすべてのbody要素を取得し、on(click)は.fa fa-trashクラスを呼び出します。 – Jeff

+0

本当に。 '$(body)'はHTMLの 'body'タグに含まれるDOMを参照します。 jQueryのメソッド '.on'は' body'に接続し、指定したクラス要素に対して 'click'を待ちます。このようにして、動的に追加された要素も 'click'イベントに含まれることを保証します。 – TheValyreanGroup

+0

ok私はそれを手に入れます。ありがとう! – Jeff

1

交換してください、あなたはforループを反復処理する必要がありますし、それぞれのために特別イベントをバインドdocument.getElementsByClassNameを使用して、あなたが要素を取得するためにJSを使用する場合は

var trash = $(".fa.fa-trash"); 

var trash = document.getElementsByClassName("fa fa-trash"); 

、 。

var trashes = document.getElementsByClassName("fa fa-trash"); 
    for(var i=0; i< trashes.length; i++) { 
    var $trash = trashes[i]; 

    $trash.on('click', '.close', function() { 

    ... 
    } // end of for loop 

使用querySelectorAll

var trash = document.querySelectorAll(".fa.fa-trash"); 
    trash.on('click', ... 
+0

まだ何も、それをクリックしてもアイテムは削除されません。 – Jeff

+0

@Jeff、あなたが求めているものではないものです。あなたはそのコードのどれも表示しませんでした。 Sushanthさんから質問への回答が非常に良かった – TheValyreanGroup

関連する問題