javascript - 如何从 HTML 元素执行 javascript 函数并发送该元素名称而不专门使用其名称?

标签 javascript jquery html

如果这个问题有答案,我找不到。

我在 JavaScript 中有以下函数,并且需要能够反复重用它。

function ParentService_load(_Object) {
    $(_Object.parent.parent).jqxDropDownButton({
        ...
    });
    $(_Object).jqxGrid({
        ...
    });
    $(_Object).bind('rowselect', function(event) {
        ...
        var row = $(_Object).jqxGrid('getrowdata', args.rowindex);
        ...
        $(_Object.parent.parent).jqxDropDownButton('setContent', dropDownContent);
        if (row["servicename"].toString().toLowerCase() === "new") {
            $(_Object.parent.parent).jqxDropDownButton('close');
            ...
        }
    });
}
<div id="jqxParentServiceDropdownButton">
    <div id='jqxParentServiceDropdownWidget' style="font-size: 13px; font-family: Verdana; float: left;">
        <div id="jqxParentServiceDropdownGrid" onload="ParentService_load(this);"></div>
    </div>
</div>

我还没有找到从元素调用 javascript 或 jquery 函数并让该函数使用该元素的名称等的明确方法...那么我将如何实现这一点?

最佳答案

如果“名称”指的是id,那么在您的函数中,您可以将其作为_Object.id 进行访问。因为您在 onload=... 中传递 this(但见下文),所以这是对发生事件的元素的引用。在该函数中,您收到的参数为 _Object,因此您可以使用 _Object 上的属性来访问有关该元素的信息,包括其 id.

<小时/>

但请注意,div 元素没有 load 事件。此外,div 元素没有 parent 属性;您可能正在考虑 parentNode

关于javascript - 如何从 HTML 元素执行 javascript 函数并发送该元素名称而不专门使用其名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30725381/

相关文章:

javascript - ObjectAssign 将 bool 转换为 object

javascript - 带有 ng-change 的 Angularjs slider

javascript - 按钮未显示在 Dom :'Bfrtip' 中

Javascript 在文本上暂停和恢复过渡动画

html - 在调整浏览器大小或旋转屏幕时丢失图像

javascript - 从 DOM 中删除不在元素中的文本

javascript - 本地存储更新后页面未刷新并导航回来

javascript - 输入类型范围输出不适用于动态 ID

Jquery Datepicker 插件 value 属性不起作用

javascript - 如何更改 Fancybox 预加载器图像?