2009-09-13 141 views
1

不知道如果我只是錯過了一些東西,但是,這並不工作:錯誤或我的愚蠢

$(this).children('td.threadtitle a').html('thread title'); 

但是這確實

$(this).children('td.threadtitle').children('a').html('thread title'); 

我只是想明白這是爲什麼發生的歷史。但這是一個錯誤?

回答

2

.children的選擇器參數是過濾器$(this).children('td.threadtitle a')找到與選擇器td.threadtitle a匹配的節點是直接this的子節點。假設你的線程標題td位於this之內,並且不超過或等於它,這種情況將不會發生。

我認爲你可能真的要尋找的是一個語境化的選擇:

$('td.threadtitle a', this).html("Thread title") 

其中發現選擇,只要他們任何地方發生this下匹配的東西。

+0

$(this).children('td.threadtitle a')將工作的唯一方法是如果$(this)是。 – 2009-09-13 12:25:54

+0

我相信你是對的 - 「兒童」的過濾器不應該再下一層。很好的接收。 – Kobi 2009-09-13 12:46:31

0
  1. 應該工作。你能上傳一些代碼,以便我們可以看到你的HTML?
  2. 只是說明:如果你想要children,你應該使用"td.threadtitle > a"。另外它應該是find('a')