2016-05-06 1 views
3

私はjs関数に 'this'を送るhtmlのonclickメソッドを持っています。クロームでそれは動作し、私は最も近い( "tr")要素を見つけることができます。IE、onclickメソッドで 'this'引数を送信する

Object doesn't support property or method 'closest'

私のHTML::

<td class="border-0" style="vertical-align: middle; width: 20px;"> 
    <a href="javascript:void(0)" onclick="SearchLossCodeDescDam(this);" tabindex="-1"> 
     <div title="Search Loss Code" class="img-responsive claim-ccc-search_bttn"></div> 
    </a> 
</td> 

とJS方法:

function SearchLossCodeDescDam(s) { 
    var row = s.closest("tr"); 
    ..... 
} 

私はサンプルを作った:https://jsfiddle.net/b0oa9yL6/

は今、あなたを行います。しかし、IEブラウザで私はエラーを取得しますどうすればこの問題を解決できますか?

答えて

1

DOMオブジェクトをjavacript関数に渡しています。 DOMオブジェクトをjQueryオブジェクトに変換してclosestを呼び出します。それはおそらくChromeブラウザはElement.closest()を使用しています。これは、Chromeで動作するクロムに

を働くのはなぜjQueryオブジェクトからIDを取得するには、attr()

Live Demo

var row = $(s).closest("tr"); 
alert(row.attr("id")); 

を使用することができます。そのため、Element.closestはjQueryオブジェクトではなくDOMを返すため、idプロパティにアクセスできます。

The Element.closest() method returns the closest ancestor of the current element (or the current element itself) which matches the selectors given in parameter. If there isn't such an ancestor, it returns null.

+0

jqueryを使用しないクロムと一緒に動作する理由は何ですか? – SamGhatak

+0

Element.closest()ですので、https://developer.mozilla.org/en-US/docs/Web/API/Element/closest – Adil

+1

ニース情報..thanks :) – SamGhatak