[英]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.