IE,发送'这个' onclick方法

时间:2016-05-06 07:48:45

标签: javascript jquery html

我在html中有onclick方法发送'这个'到js功能。在chrome它工作,我可以找到最接近(" tr")元素。但在IE浏览器中我收到一个错误:

  

对象不支持属性或方法'最接近'

我的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/

您现在如何解决此问题?

1 个答案:

答案 0 :(得分:1)

您正在将DOM对象传递给javacript函数。将DOM对象转换为jQuery对象以在其上调用closest。要从jQuery对象获取id,可以使用attr()

<强> Live Demo

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

为什么它适用于chrome

这适用于Chrome浏览器可能Chrome浏览器使用Element.closest()。这就是为什么你能够访问id属性,因为Element.closest返回DOM而不是jQuery对象。

  

Element.closest()方法返回最接近的祖先   当前元素(或当前元素本身)匹配的   参数中给出的选择器。如果没有这样的祖先,那就是   返回null。