如果我在控制台中这样做:
foo = document.querySelectorAll('#authCreateAcctUsernameInput')
然后返回这样的对象: FOO
[<input type="text" maxlength="70" id="authCreateAcctUsernameInput" name="userName" autocomplete="off" autocapitalize="off" autocorrect="off">]
html看起来像这样:
<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></fieldset>
我想要获取最后一个元素的内容(&#34;请输入有效的电子邮件地址&#34;)所以我试过了:
$(foo).siblings('.errorMSG').textContent
但是返回未定义。 .innerHTML
和.value
我如何根据兄弟的类值获取兄弟的textContent(所以使用类errorMG获取兄弟的textContent)?
答案 0 :(得分:1)
我认为问题是将jQuery
与javascript混合。
执行此操作以获取文本。
$(foo).siblings('.errorMSG').text();
textContent
是DOM
对象的属性,但是你有一个jQuery对象。所以在它上面调用jquery函数。
Bellow是不同的DOM对象属性&amp;有等效的Jquery对象函数
DOMObject.value jqueryObject.val()
DOMObject.innerHTML jqueryObject.html()
DOMObject.textConetnt jqueryObject.text()
还有很多其他人。