IE,发送'这'参数

IE, sending 'this' argument by onclick method

本文关键字:参数 发送 IE      更新时间:2023-09-26

我在html中有一个onclick方法,它将"this"发送到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/

你现在知道我该怎么解决这个问题吗?

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

实时演示

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

为什么它在chrome中工作

这在Chrome中起作用,可能是Chrome浏览器使用了Element.closest()。这就是为什么您可以访问id属性,因为Element.closest返回DOM而不是jQuery对象。

方法返回匹配的当前元素(或当前元素本身)参数中给定的选择器。如果没有这样的祖先返回null。