首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jquery.html()表单的奇怪行为

jquery.html()表单的奇怪行为
EN

Stack Overflow用户
提问于 2013-01-21 21:57:17
回答 5查看 446关注 0票数 13

我有以下html:

代码语言:javascript
运行
复制
<div class="copy_me_text">
    <div>
        <input type="text" name="name" />
        <input type="hidden" name="id" />
    </div>
</div>

<div class="copy_me_hidden">
    <div>
        <input type="hidden" name="name" />
        <input type="hidden" name="id" />
    </div>
</div>

和下面的js代码:

代码语言:javascript
运行
复制
var $cloned_text = $('.copy_me_text').clone();
$cloned_text.find('input[name="name"]').val("SOMETHING");
$cloned_text.find('input[name="id"]').val("SOMETHING");
console.log($cloned_text.html());

var $cloned_hidden = $('.copy_me_hidden').clone();
$cloned_hidden.find('input[name="name"]').val("SOMETHING");
$cloned_hidden.find('input[name="id"]').val("SOMETHING");
console.log($cloned_hidden.html());

输出对我来说很奇怪:

代码语言:javascript
运行
复制
<div>
    <input name="name" type="text">
    <input value="SOMETHING" name="id" type="hidden">
</div>
<div>
    <input value="SOMETHING" name="name" type="hidden">
    <input value="SOMETHING" name="id" type="hidden">
</div>

我还创建了jsFiddle example。这是正确的行为吗?我不明白,为什么在.html()函数中,不返回input type="text"的值。

EN

Stack Overflow用户

发布于 2013-01-21 22:01:56

这看起来确实像是jQuery中的一个bug。您可以使用attr()函数强制它返回:

代码语言:javascript
运行
复制
$cloned_text.find('input[name="name"]').attr('value', "SOMETHING");

请参阅更新后的Fiddle

票数 6
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14440219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档