我有像这样的HTML
<input id="paymentNumber" type="text" class="form-control input-sm bot-buffer" placeholder="Payment Number">
但当我尝试在jquery中获取html标签时$('#paymentNumber')
它返回了我的jquery对象而不是这个特定id的html标签。
但是虽然我可以得到像这样的$('#paymentNumber')[0]
这个问题在今天之前没有出现过,我总是得到这样的html标签,但我的问题是为什么它会使每个html元素成为一个jquery对象。
是jquery或控制台还是别的什么更新?
答案 0 :(得分:3)
jQuery总是返回一个&#34;包装集&#34;或一组选定的对象。也许,之前,您只返回了严格的包装集,其中仅包含您要查找的元素(您通过ID选择)。也许现在你偶然发现了一个全新的世界,你可以按类选择(在一个包裹的集合中获得许多元素),只有你没有期待也没有为此做好准备。
只是一个注释,但如果您想要实际的HTML标记名称,则需要:
$('#my_element').prop('tagName');
要获得单个包装对象,您可以像使用
一样使用数组访问$('.many_elements')[0];
或者你可以得到第一个元素:
$('.many_elements').first();
希望有助于清理它。
答案 1 :(得分:0)
要获取id的html,你只需将.html()添加到最后;
// console.log($('#paymentNumber'))
console.log($('#paymentNumber').html())
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="paymentNumber" type="text" class="form-control input-sm bot-buffer" placeholder="Payment Number">
仅使用$('#paymentNumber')
将返回一个包含有关div