如果对这个问题有答案,我就找不到了。
我在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>
&#13;
我还没有找到一种从元素调用javascript或jquery函数的明确方法,并让该函数使用这些元素&#39;名字等等......那我怎么做到这一点?
答案 0 :(得分:1)
如果按“名称”表示id
,则在您的函数中,您可以将其作为_Object.id
进行访问。因为您在this
中传递onload=...
(但请参见下文),这是对事件发生的元素的引用。在函数中,您接收的参数为_Object
,因此您可以使用_Object
上的属性来访问有关该元素的信息,包括其id
。
但请注意,div
元素没有load
个事件。此外,div
元素没有parent
属性;你可能会想到parentNode
。
答案 1 :(得分:0)
我不完全确定你在问什么,所以这里有一些关于从函数中返回嵌入HTML的值的例子;
$(document).ready(function(){
$(".lw").click(function() {
alert("Class:" + $(this).attr("class") +
"\nID:" + $(this).attr("id") +
"\nData:" + $(this).data("test") +
"\nName:" + $(this).attr("name") +
"\nTagname:" + $(this).prop("tagName"));
alert($(this).parent().prop("tagName"));
});
});
单击任一<p>
元素会在警告框中返回不同的值。