我试图找出如何将变量字符串staffID传递给load()函数中的id选择器。这是一段代码:
$('li.staffAsset').click(function () {
var staffID = $(this).attr("id");
openDialog('#descrDialog');
$('#staffDescr p').load('/staffDescr.html $("#" + staffID)');
});
这不起作用。基本上在staffDescr.html中有id =“staffID”的div。 我似乎无法找到正确的语法将该变量字符串作为正确的id传递给load()函数。 有人可以帮忙吗?
答案 0 :(得分:3)
您没有将美元函数传递给字符串。只需使用:
$('#staffDescr p').load('/staffDescr.html #' + staffID);
请参阅文档: Loading Page Fragments 。
此外,不需要$(this).attr("id")
。只需使用this.id
:
$('li.staffAsset').click(function () {
openDialog('#descrDialog');
$('#staffDescr p').load('/staffDescr.html #' + this.id);
});
答案 1 :(得分:1)
你搞砸了报价。要简单地将id放入字符串中,您可以替换
$('#staffDescr p').load('/staffDescr.html $("#" + staffID)');
与
$('#staffDescr p').load('/staffDescr.html $("#"' + staffID+')');
但你可能想要
$('#staffDescr p').load('/staffDescr.html #' + staffID);
如果您正在尝试load a page fragment。