我在外部文件(test.html)上有一个内容(#content),可以在index.html加载到另一个DIV(#result):
的test.html:
<div id="content">This text should not be loaded with its DIV. <strong> May contain other tags</strong></div>
jquery的:
$('#result').load('test.html #content');
index.html结果,意料之外:
<div id="result"><div id="content">This text should not be loaded with its DIV. <strong> May contain other tags</strong></div></div>
index.html结果,预期:
<div id="result">This text should not be loaded with its DIV. <strong> May contain other tags</strong></div>
如何仅加载#content的实际内容/ HTML,其中也可能包含其他标记,但只包含其包装DIV(#content)? 原因是简单地避免不必要的divities,这也可能会错误地与其他风格的DIV冲突。
非常感谢任何提示。感谢
答案 0 :(得分:1)
如果能够将.load()的结果输入var。 你可以这样做。
var result = ... load line ...
var outResult = $(result);
// now strip the div out of outResult using jquery......
outResult = StripContentDiv(outResult);
$('#result').html(outResult);
抱歉,我不能更具体,因为我不是一个jquery专家。
答案 1 :(得分:1)
这是一个想法。如果您使用临时标签作为工作区怎么办?
这个jQuery javascript ...
$('#workarea').load('test.html #content');
...可能会产生这个结果。请注意,工作区是隐藏的:
<div id="result"></div>
<div id="workarea" style="display: none"><div id="content>This text should not be loaded with its DIV</div></div>
然后,您可以将其移动到结果...
$('#result').html($('#workarea').html());
它应该产生这个结果。
<div id="result">This text should not be loaded with its DIV</div>
<div id="workarea" style="display: none"><div id="content></div></div>
修改强>
以下是一个完整的脚本:
$('#workarea').load('test.html #content');
$('#result').html($('#workarea').html());
您可以使用这两行而不是一行。如果我理解正确,它应该在上面的查询中产生预期的结果。
答案 2 :(得分:1)
你看起来是
吗?$(document).ready(function(){
$('#result').load('test.html #content', function () {
$('#content', this).text;
});
});
:P x由JNE