1
這是我在控制檯使用DOM創建選擇FOO:jQuery對象使用的.text().VAL()或.html()時返回未定義
foo
[<input type="text" maxlength="70" id="authCreateAcctUsernameInput" name="userName" autocomplete="off" autocapitalize="off" autocorrect="off">]
然後,在一個問題的背面我剛纔問幾分鐘前,我瞭解到,如果我想獲取jQuery對象的textContent,我必須使用.text()
。
美孚有一些兄弟姐妹:
<fieldset>
<label class="userName" for="authCreateAcctUsernameInput">Email Address</label>
<input type="text" maxlength="70" id="authCreateAcctUsernameInput" name="userName" autocomplete="off" autocapitalize="off" autocorrect="off">
<span id="authCreateAcctUsernameErrorTxt" class="errorMSG" style="display: block;">Please enter a valid email address.</span>
爲了從Foo的兄弟姐妹的textContent得到 「電子郵件地址」 我想這:
但是返回TypeError: undefined is not a function
。
這不 「工作」:返回
$(foo).parent().children()[0]
<label class="userName" for="authCreateAcctUsernameInput">Email Address</label>
的元素。那麼爲什麼我不能添加.text()
來獲得我需要的內容,即字符串「電子郵件地址」?
當您使用'[0]',你返回一個DOM節點,而不是一個jQuery對象中找到,所以然後嘗試使用'.text()'將失敗。相反,請嘗試'.children()。eq(0).text()'。或者更好,只需'$(foo).prev()'。 – j08691 2014-09-30 02:51:06
感謝您的幫助,這似乎解決了我的問題。我只是最近纔開始撿起JS,而jquery對我來說很新。將研究eq()函數。附:我可以;實際上使用prev(),因爲當整個站點使用這個函數時,元素的順序會有所不同,儘管歡呼! – 2014-09-30 02:57:47