我(我很確定我)必須使用jQuery作爲我正在創建的頁面的一部分,這基本上是我第一天做jQuery。jQuery - 如何檢查孩子是否存在id = URL?
對於以下if/else,我首先嚐試檢查是否存在具有等於變量url
的id的<div>
。如果存在,它會將文本寫入div。如果該元素不存在,則else
將創建一個新的div,其屬性爲id
,文本包含相同的響應,並將其附加到與之關聯的<a href>
標記。
Function() {
...
...
...
if (xhr.readyState == 4 && xhr.status == 200) {
if ($("div#"+url+"").length) {
document.getElementById(url).innerHTML = xhr.responseText;
}
else {
$("a[href='" + link + "']").append(
$("<div></div>", {
"id": url,
"text": xhr.responseText
}
)
);
}
}
...
...
}
如果我做了完善的混亂,這裏是什麼,我希望有發生在HTML DOM的可視化表示。
之前
<a href="http://foo.com" onclick="Function('url')">Foo</a>
鏈接被點擊後。
<a href="http://foo.com" onclick="Function('url')">Foo</a><div id="http://foo.com">xhr.responseText</div>
我在控制檯得到的錯誤是 錯誤:語法錯誤,無法識別的表達:DIV#HTTP%3A%2F%2Fwww.foo.com 因爲它說,這是一個語法錯誤,我知道我必須使用.length錯誤,但id
的選擇器是#
,所以我不明白錯誤在哪裏。我已經做了一大堆探索所有和爲http://api.jquery.com/length/爲jquery語法檢查是否存在一個孩子,我試過使用一些邏輯運算符,但它總是在if語句相同的錯誤。我也嘗試過使用encodeURIComponent(url),以防萬一它不喜歡URL中的一些字符,但是它沒有修復它。
,因爲它包含您不能使用URL作爲HTML ID無效的字符 – dave
,我想編碼的URL並不重要? – JoeL
你可以用相反的方式去談論它。 '$()。closest()'方法將嘗試將選擇器與節點的祖先進行匹配。因此,您可以檢查孩子的身份證是否存在,以及其祖先之一是否與您想要的父母相匹配。 –