更新:该脚本现在可以(部分)工作,但无法加载某些在其内容中具有Javascript的XML小工具文件;还有一些加载正常,但其他内容仍然没有显示。我想知道这是否只能用PHP而不是jQuery来完成。Append/Prepend/jQuery问题
我有我用来加载和显示XML小工具的代码(如来自iGoogle的代码)。它现在是我的创作,实际上我甚至不记得我从哪里得到它。
无论如何,如您所见,代码从XML文件中读取Content
并将其显示在combo1
范围内。这按预期工作。
问题是我写的任何东西在跨度之前或之后都没有显示。或者它显示一个分数,但立即显示内容,其他所有内容都隐藏起来。我想“我希望这个文字可见!!!”是可见的。我怎样才能做到这一点?我不在乎它是否只是文本,或者也许jQuery可以做另一个技巧来显示它(我尝试了一些,没有工作),或者也许“我的”代码有错,需要一些更改。
我所知道的是我需要帮助。
P.S.如果您需要测试这个,请使用Google的hello gadget:http://www.google.com/ig/modules/hello.xml - 您必须将其保存在本地,我认为该脚本不会读取外部文件。
OK,供大家参考,我有这样的:
<?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没有正确触发,等等...... – Wesley 2012-08-09 16:51:07当然,但它不会有帮助,因为.xml文件必须与页面位于同一个域中( http://jsfiddle.net/G2sZz/)。我认为如果你使用这段代码在你的计算机上创建一个html文件,并从Google(见上面)中的同一文件夹中加载hello.xml,那么它会更好。 – 2012-08-09 16:55:32
文字“我要这个文字可见!!!”确实显示了一秒钟,但在脚本加载xml文件后,它被替换为(?!)......在我头上。 – 2012-08-09 16:56:45