IE,发送'这'参数
IE, sending 'this' argument by onclick method
我在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。
相关文章:
- Servlet未将参数发送到.jsp文件
- 如何使用ExtJs将参数发送到服务器
- 将选项框的值和键作为参数发送
- 如何将 JS 函数作为参数发送到另一个函数
- 我可以't让servlet使用ajax和xml将参数发送到jsp文件
- 避免将jquery选择器作为构造函数参数发送时内存泄漏
- 无法使用angularjs$http请求将参数发送到服务器操作方法
- 将$(this)作为参数发送
- 将jQuery参数发送到服务器端并创建输出文本文件
- 将命令行参数发送到 npm 脚本
- 如何将数组作为多个参数发送给函数
- 将参数发送到Phonegap上的sqlite函数
- 如何访问作为参数发送到jquerypost的成功回调中的数据值
- 如何使用AngularJS将多个参数发送到JAVA API
- 如何避免在将索引作为函数的参数发送时引用for循环中的最后一个索引
- 我可以使用javascript但不使用jquery或ajax将参数发送到php控制器吗
- 将 Django 变量作为 AngularJS 函数参数发送
- 尝试从模板将参数发送到$resource工厂
- 将参数发送到 Angular 上的 Web 服务
- 使用 AJAX 将列表作为参数发送