2013-03-12 72 views
2

請注意,這個問題是來自this one如何閱讀HTML直接在jQuery的

跟進我有以下代碼(或多或少 - 數據的變化規律)的渲染我的網頁上。

<div class="weather-feed"> 
    <img src="http://l.yimg.com/a/i/us/we/52/28.gif"/><br /> 
    <b>Current Conditions:</b><br /> 
    Mostly Cloudy, 19 C<BR /> 
    <BR /><b>Forecast:</b><BR /> 
    Tue - PM Thunderstorms. High: 26 Low: 16<br /> 
    Wed - Mostly Sunny. High: 27 Low: 16<br /> 
    <br /> 
    <a href="http://us.rd.yahoo.com/dailynews/rss/weather/Pretoria__SF/*http://weather.yahoo.com/forecast/SFXX0044_c.html">Full Forecast at Yahoo! Weather</a><BR/><BR/> 
    (provided by <a href="http://www.weather.com" >The Weather Channel</a>)<br/> 
</div> 

我想這種風格,所以我有一個想法,通過各地的每個部分將在<div> s到修改所呈現的HTML(所需的代碼是在鏈接到前一個問題。

我已經寫了下面的jQuery(有很多來自不同人的幫助下),讓我在那裏我:

$(document).ready(function() { 
    var src = $(".weather-feed"); 

    // remove line feeds 
    var result = src.find("br").remove(); 


    //var condition = src.html().match(/<b>Current Conditions:<\/b>([^<]*)<b>/)[1].trim()); 

    // modify weather icon 
    result += "<div class=\"weather-icon\"><img src=\"" + src.find("img").attr("src") + "\" /></div>"; 

    // modify weather conditions 
    result += src.find("b:nth-child(1)").before("<div class=\"weather-conditions\">") + ; 
    result += src.find("b:eq(1)").before("</div><div class=\"weather-forecast\">"); 
    result += src.find("a:nth-child(1)").before("</div><div class=\"weather-detail\">"); 
    result += src.find("a:nth-child(1)").after("</div"); 

    $("#weather-feed").append(result); 
}); 

目前雖然,所有的渲染是這正是:

的翻譯:
img
[對象的對象] [對象的對象] [對象的對象] [對象的對象]

我真的不理解它到底是什麼jQuery是在這裏做。我的目標是基本上得到一個HTML的字符串表示,並用修改後的字符串替換html。

它對我來說是什麼樣子,它採用了文字html並把它扔在頁面上......我真的不知道。

那麼我該如何修改這段代碼,將src的html代碼寫入result我需要它的地方?

回答

4

你應該採取的HTML內容進一步處理..

var src = $(".weather-feed").html(); 
0

你試圖將字符串和一系列的jQuery對象。 JavaScript正在調用所述對象的.toString()函數,該函數返回[Object object],以便可以發生。

0

您遇到的問題是您將對象附加到字符串,從而獲得對象的字符串表示形式。

改變什麼,你必須以下,

$(document).ready(function() { 
    var src = $(".weather-feed"); 
    var result = src.find("br").remove(); 
    result += "<div class=\"weather-icon\"><img src=\"" + src.find("img").attr("src") + "\" /></div>"; 
    result += src.find("b:nth-child(1)").before("<div class=\"weather-conditions\">").html(); 
    result += src.find("b:eq(1)").before("</div><div class=\"weather-forecast\">").html(); 
    result += src.find("a:nth-child(1)").before("</div><div class=\"weather-detail\">").html(); 
    result += src.find("a:nth-child(1)").after("</div").html(); 
    $("#weather-feed").append(result); 
}); 

這樣你追加每個元素的字符串,這是你正在尋找的結果發現裏面的HTML內容。