这是我使用dom选择器在控制台中创建的foo:
foo
[<input type=?"text" maxlength=?"70" id=?"authCreateAcctUsernameInput" name=?"userName" autocomplete=?"off" autocapitalize=?"off" autocorrect=?"off">?]
Run Code Online (Sandbox Code Playgroud)
然后,在几分钟前刚问过的一个问题的背面,我了解到如果我想获得jquery对象的textContent,我必须使用它.text().
Foo有一些兄弟姐妹:
<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>
Run Code Online (Sandbox Code Playgroud)
为了从Foo的兄弟textContent获取"电子邮件地址",我尝试了这个:
$(foo).parent().children()[0].text()
Run Code Online (Sandbox Code Playgroud)
但那又回来了TypeError: undefined is not a function.
这确实"有效":
$(foo).parent().children()[0]
<label class=?"userName" for=?"authCreateAcctUsernameInput">?Email Address?</label>?
Run Code Online (Sandbox Code Playgroud)
元素被返回.那么为什么我不能添加.text()到我需要的东西,这是字符串"电子邮件地址"?
它本身并不"返回未定义",呃,因为undefined()无效而抛出异常.
这是因为.children()[0](等效于.children().get(0))返回一个DOM元素,而不是一个jQuery对象,因此domElement.text计算结果为undefined.
在如何使用jQuery选择第一个孩子的过程中可以找到各种形式来找到"第一个孩子"作为jQuery对象/集合?
| 归档时间: |
|
| 查看次数: |
2654 次 |
| 最近记录: |