2011-02-01 50 views
0

我發現並試圖改變一小段jquery代碼來將外部內容加載到我無法工作的現有div中。我遇到的問題是試圖使代碼更加可用,因爲我在頁面上有很多鏈接。我是新手,所以我想看看我能否保持簡單,並且我不知道問題出在哪裏。我試圖修改的代碼位:簡單的jquery從div問題加載外部內容

$(function() { 
    $('div[class="subNav"]').click(function() { 
    $('#mainText').load$(this).attr('href'); 
     return false; 
    }); 
}); 

mainPage.html有一個包裝頁面主文本的div。

<div id="mainText">Content Change Here</div> 

我有多個子鏈接(使用摺疊式菜單&的JavaScript)這個網頁上根據不同的股利。

<div class="subNav"> 

    <h3 class="heading">heading1</h3> 
    <ul class="navListings"> 
     <li><a href="sub1a.html">link 1a</a></li> 
     <li><a href="sub1b.html">link 1b</a></li> 
     <li><a href="sub1c.html">link 1c</a></li> 
    </ul> 

    <h3 class="heading">heading2</h3> 
    <ul class="navListings"> 
     <li><a href="sub2a.html">link 2a</a></li> 
     <li><a href="sub2b.html">link 2b</a></li> 
    </ul> 

    ....and so on......</div> 

所有頁面都有相同的內容mainText div。我只想用mainPage.html中的mainText div替換點擊時子頁面中正確的內容。有人能幫我嗎?我猜我的代碼有點太簡單了....

我已經嘗試了很多替代方法來代碼的第二行,但沒有任何作品。我或者什麼也沒有出現,或者鏈接只是進入頁面,就好像腳本甚至沒有工作。在此先感謝任何人可能會幫助...

+0

考慮使用Firefox和Firebug,如果你還沒有。控制檯錯誤和console.log()將有所幫助。 http://www.alistapart.com/ – 2011-02-01 02:56:04

回答

0
$(function() { 
    $('div[class="subNav"]').click(function() { 
    // missing `(` after load. as well as everything else. 
    $('#mainText').load$(this).attr('href'); 
     return false; 
    }); 
}); 

你想用.load實現什麼?

$("#mainText").load("url", function() { 
    // what are you doing here? 
    $(this).attr("href"); 
    return false; 
}); 

這應該工作,雖然爲:

$(function() { 
    $('div[class="subNav"]').click(function() { 
     $('#mainText').load($(this).attr('href')); 
    }); 
}); 
+0

對不起。我試圖弄清楚,因爲我去了編碼部分。很糟糕。我只是試圖將外部內容(從不同的html頁面)加載到活動頁面上的特定div,具體取決於用戶選擇的鏈接。想要讓腳本從鏈接指向的相應頁面提取內容(div id = mainText)並將該內容加載到活動頁面的div中。 – user597757 2011-02-01 03:23:40

1

更改您的代碼如下:

$('div.subNav').click(function() { 
$('#mainText').load($(this).attr('href')); 
    return false; 
}); 

記住的的document.ready函數來包裝這個