我在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/
您现在如何解决此问题?
答案 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。