例如,如果用户在Default
。点击导航转到Page2
我想加载ID为<div>
的{{1}},然后抓住第二个container
,其ID为<div>
,但显然不加载它,只需捕获其中包含的文本。
默认示例:
includeScripts
第2页的例子:
<div id="mainContentContainer">
<!-- Main content container -->
</div>
当前脚本如下所示:
<div id="container">
Page 2
</div>
<div id="includeScripts">
Some Text here...
</div>
我想可能使用jQuery提供的$navigation = $("#primaryNavigation").delegate('ul li a', 'click', function () {
// Load the container information into the MainContainer div located on Default
$('#mainContentContainer').load($(this).attr('href') + ' #container');
// Load the 'includeScripts' div and grab the text
$.ajax({
url: $(this).attr('href'),
context: document.body,
success: function () {
console.log('success');
}
});
方法可行,但显然不行。
如果我的问题不清楚,请告诉我。
答案 0 :(得分:2)
为什么不在“默认”页面上创建第二个div,您将从“includeScripts”div加载文本,并将div的显示设置为none。
从那里你可以在默认页面中找到该脚本文本。
答案 1 :(得分:1)
如果我理解你的问题应该是这样的:
$.ajax({
url: $(this).attr('href'),
dataType: 'html',
context: '#mainContentContainer',
success: function (html) {
var text = $(html)
.find('#container')
.appendTo(this).end()
.find('#includeScripts')
.text();
console.log(text);
}
});
答案 2 :(得分:0)
这就是我最终做的事情......非常类似于乔赛亚的答案,并进行了一次小调整
$.ajax({
url: $(this).attr('href'),
dataType: 'html',
context: '#mainContentContainer',
success: function (html) {
console.log($(html).filter('#includeScripts').text());
console.log($(html).filter('#includeStylesheets').text());
}});