更新:該腳本現在可以(部分)工作,但無法加載某些在其內容中具有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