gpt4 book ai didi

强制 attr 更新后,JQuery html() 调用不返回值

转载 作者:行者123 更新时间:2023-12-01 00:58:58 26 4
gpt4 key购买 nike

也许我不理解这里的基本内容,但 html() 调用不会返回填充了所有属性的元素,即使在显式调用设置属性之后也是如此。

例如,我有一个文本框:

<input type="text" id="foo" value="" />

当用户在此框中填写值时,将调用一个函数(输入文本框的 onBlur)。

$('#foo').blur(function(event) { updateFoo(this); });

在该函数中存在以下代码:

function updateFoo(input) {
// force DOM update??
$('#'+input.id).attr('value', input.value);

// successfully displays value user entered
alert($('#'+input.id).attr('value'));

// displays input element, with value not filled in,
// like: 'input type="text" id="foo" value="" />'
alert($('#'+input.id).parent().html());

...
}

html() 调用不应该返回设置了 value 属性的元素吗?

我在 Max OSX 上使用 Firefox 3.6.13。

我看到这个论坛帖子:http://forums.asp.net/t/1578929.aspx我的一些假设是基于......

谢谢,盖伦

最佳答案

经过更多研究后,我发现了这篇文章:

jQuery html() in Firefox (uses .innerHTML) ignores DOM changes

这几乎概括了我遇到的问题。基本上这是一个 Firefox 实现问题...

而不是:

$('#'+input.id).attr('value', input.value);

我现在使用的是:

input.setAttribute('value', input.value); // force DOM update

解决了这个问题。

关于强制 attr 更新后,JQuery html() 调用不返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4412096/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com