簡體   English   中英

Ajax插入的內容無法在DOM中訪問

[英]Ajax inserted content not accessible in DOM

我在一個純jquery / js網站上工作,主要是練習一些jquery。 我正在使用load語句從通用html文件加載菜單,如下所示:

$('#categoryListing').load('../common.html #categoryLinksUL');

加載:

<ul id="categoryLinksUL">
          <li><a href="#anklets" rel="ajax">Anklets</a></li>
          <li><a href="#bracelets" rel="ajax">Bracelets</a></li>
</ul>

問題是我現在在哪里使用它,我需要更改以上鏈接的href,但它們不是dom的一部分。 在以前的實例中,我可以使用.live(click ...但這里不行。有什么辦法可以做到這一點?

具體來說,我需要加載鏈接並將href從#anklets更改為?category = anklets

那下面呢?

$('#categoryListing').load('../common.html #categoryLinksUL', function() {
    $('li a[href^="#"']').each(function () {
        this.href = '?category=' + this.href.substr(1);
    });
});

在我的示例中,加載完成后,將調用匿名函數。 它使用哈希HREF來獲取每個錨點,並根據您的描述將其替換為HREF。

謝謝Dimitry,您的解決方案基本上奏效了。 我終於用了:

$('#categoryListing').load('../common.html #categoryLinksUL', function() {
  $('#categoryListing li a').each(function () {
    var hashPos=this.href.indexOf("#");
    var tCategory = this.href.substr(hashPos+1,this.href.length );
  });
});

那么,為什么jQuery在那里識別了categoryListing? 我嘗試將每個函數移到load函數之外,categoryListing不包含任何鏈接。 是否是因為嘗試獲取categoryListing鏈接時加載未完成? 似乎是可能的。

謝謝托德

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM