【发布时间】:2012-08-06 22:56:39
【问题描述】:
更新:该脚本现在(部分)工作,但它无法加载一些内容中包含 Javascript 的 XML 小工具文件;此外,有些加载得很好,但除内容之外的任何其他内容仍未显示。我想知道这是否只能在 PHP 而不是 jquery 中完成。
我有用于加载和显示 XML 小工具(例如来自 iGoogle 的那些)的代码。它现在是我的创作,事实上我什至不记得我从哪里得到它。
无论如何,如您所见,代码从 XML 文件中读取 Content 并将其显示在 combo1 范围中。这按预期工作。
问题是我在跨度之前或之后写的任何内容都不会显示。或者它显示一小部分,但立即显示内容并隐藏其他所有内容。我希望 “我希望此文本可见!!!” 是可见的。我怎样才能做到这一点?我不在乎它是否只是文本,或者 jQuery 也可以使用另一个技巧来显示它(我已经尝试了一些,但没有工作),或者“我的”代码可能有问题并且需要一些更改。
我只知道我需要帮助。
附:如果您需要对此进行测试,请使用 Google 的 hello 小工具:http://www.google.com/ig/modules/hello.xml - 您必须将其保存在本地,我认为该脚本不会读取外部文件。
好的,供你参考,我有这个:
<?PHP
$xml = $_GET['xml'];
echo "<html><head></head><body><script src='http://code.jquery.com/jquery.min.js' type='text/javascript'></script>
<script type='text/javascript'>
$(document).ready(function(){
function loadfail(){
alert('Error: Failed to read file!');
}
function parse(document){
$(document).find('Module').each(function(){
$('.combo1').append(
'' + $(this).find('Content').text() +
''
);
});
}
$.ajax({
url: '$xml',
dataType: 'xml',
success: parse,
error: loadfail
});
});
</script><span class='combo1'></span>";
?>Text that I'd like to show</body></html>
【问题讨论】:
-
我们能得到更多信息吗?可以在 jsfiddle.net 上设置一个示例吗?文本不必在元素内部可见。如果元素正在页面上呈现,它应该显示,除非父元素被告知隐藏它。例如,您可以将纯文本写入没有 div 的 标记,它会显示出来。我们需要知道文本是否正在被读取,AJAX 是否未正确触发,等等...
-
当然可以,但这无济于事,因为 .xml 文件必须与页面位于同一域 (jsfiddle.net/G2sZz)。我认为最好在计算机上创建一个 html 文件,使用此代码,并从 Google 将 hello.xml 加载到同一文件夹中(见上文)。
-
文本“我希望此文本可见!!!”确实显示了一秒钟,但是在脚本加载 xml 文件后,它被替换为这个 (?!) ... 在我的头上。
-
我刚刚测试了它(使用 Firefox)并且它有效。我刚刚添加了 jQuery 并将“daily-girls.xml”替换为“hello.xml”
-
那些女孩在分散我的 jquery 的注意力
标签: javascript jquery html append prepend