请帮助我理解为什么以下 jquery select 返回一个元素而不是预期的对象。谢谢。
<div class="partner-tab partner-tab-opaque remove4" id="tab-5"> <a href="#">
<img class="blink" src="../skin/images/logo_endicia.png">
</a>
</div>
代码
$("<a href=\"#\" />")
.on("click", {
"partnerId": pid
}, function (e) {
return showPartnerSettings(e);
})
.appendTo("#footer #tab-" + pid);
// $("<a href=\"#\" />")[ < a href = "#" > < /a> ]
错误:
未捕获的 TypeError:Object[object Object] 没有“on”方法
这是整个功能:
$(document).ready(function () {
showPartnerTabs = function (flashUSPS) {
$.post("<?=$this->baseUrl('partner/ajaxgetactive')?>", {}, function (data) {
var partner = data.partners;
//alert((data.partners).length);
/* $("#footer .partner-tab").remove();*/
var remove = 1;
var doc = $(document);
for (var id in data.partners) {
if (partner[id].toggle_value == "on") {
remove++;
logo = partner[id].logo_file;
var pid = parseInt(id) + 1;
$("<div class=\"partner-tab partner-tab-opaque remove" + remove + "\" id=\"tab-" + pid + "\" />")
.appendTo("#footer");
$("<a href=\"#\" />")
.on("click", {
"partnerId": pid
}, function (e) {
return showPartnerSettings(e);
})
.appendTo("#footer #tab-" + pid);
var logochck = "tab-" + pid;
//alert(logochck);
if (flashUSPS && logochck == 'tab-5') {
$("<img class='blink' src='../skin/images/" + logo + "' />")
.appendTo("#footer #tab-" + pid + " a");
} else {
$("<img src='../skin/images/" + logo + "' />")
.appendTo("#footer #tab-" + pid + " a");
}
//$("</div>").appendTo("#footer");
}
/*
else
{
$("<div class=\"partner-tab partner-tab-opaque remove" + remove + "\" id=\"tab-" + pid + "\" />")
.appendTo("#footer");
$("<a href=\"#\" />")
.on("click", { "partnerId": pid }, function(e){ return showPartnerSettings(e); })
.appendTo("#footer #tab-" + pid);
$("<img src='../skin/images/" + logo + "' />")
.appendTo("#footer #tab-" + pid + " a");
//$("</div>").appendTo("#footer");
}
*/
}
//alert($(".remove2").length);
if ($(".remove2").length > 1) {
$($(".remove2")[0]).remove();
$($(".remove3")[0]).remove();
$($(".remove4")[0]).remove();
}
}, "json");
}
$(".Partnerconnection ul li .controls .toggle-switch").on("click", null, function () {
$(this).showPartnerTabs();
});
showPartnerTabs(<?=$flash?>);
});
正如我在评论中提到的,在我将函数声明从“$.fn.showPartnerTabs()...”更改为“showPartnerTabs()...”之前,该函数运行良好。这有帮助吗?