Javascript jQuery:使用只包含需要使用的属性的一部分的变量
我使用的脚本在单击时加载几个可展开按钮的内容。内容放在同一服务器的HTML文件中 脚本如下所示:Javascript jQuery:使用只包含需要使用的属性的一部分的变量,javascript,jquery,variables,attributes,preload,Javascript,Jquery,Variables,Attributes,Preload,我使用的脚本在单击时加载几个可展开按钮的内容。内容放在同一服务器的HTML文件中 脚本如下所示: $("a.ajax-link").click(function (event) { event.preventDefault(); event.stopPropagation(); var infoButton = $($(this).attr("href")); if (!$(infoButton).hasClass("show&
$("a.ajax-link").click(function (event) {
event.preventDefault();
event.stopPropagation();
var infoButton = $($(this).attr("href"));
if (!$(infoButton).hasClass("show")) {
if ($(infoButton).attr("data-loaded") != "true") { // Check if it is collapsed
var loadingIcon = $(this).find(".icon-spin"); // Show loading icon
loadingIcon.css("visibility", "visible");
var thisLink = $(this);
var targetUrl = thisLink.attr("data-href");
var target = thisLink.data("ajaxtarget");
$(target).load(targetUrl, function () { // Load data
$(infoButton).collapse("show"); // Expand
$(infoButton).on("show.bs.collapse", function () {
$(this).addClass("collapsing");
});
loadingIcon.css("visibility", "hidden");
});
} else {
$(infoButton).collapse("hide");
$(infoButton).on("hide.bs.collapse", function () {
$(this).removeClass("collapsing");
});
}
noMoreAjax();
} else {
$(infoButton).collapse("hide");
$(infoButton).on("hide.bs.collapse", function () {
$(this).removeClass("collapsing");
});
}
});
/*
* --------------------------------------------------------------------------
* FUNCTIONS
* --------------------------------------------------------------------------
*/
function noMoreAjax(item) {
var linkItem = $(item);
linkItem.removeClass("ajax-link");
linkItem.addClass("link-prevent");
linkItem.unbind("click");
$(linkItem).click(function (event) {
event.preventDefault();
});
}
我试图做的是预加载HTML文件,以便按钮的内容在单击后显示得更快。一种方法是使用jQuery的.get(),就像这样(直接从他们的文档中):
如果我错了,请纠正我的错误,但我在某个地方读到,这是一种比.ajax()更有效的实现类似目标的方法
不管怎样,我发现很难将.get()的回调函数(在本例中为数据)的参数用于此特定脚本。属性data href的值存储在targetUrl变量上,该属性包含HTML文档的URL和锚定标记所用的ID,例如data href=“/path/to/file.HTML#a”。我如何使用数据作为指向预加载文档的变量,但仍然考虑每个按钮的data href属性链接到的锚定标记
如果有任何其他信息对你有用,请告诉我。谢谢你抽出时间
$.get( "ajax/test.html", function( data ) {
$( ".result" ).html( data );
});