gpt4 book ai didi

javascript - 操作内存中 jQuery 对象的文本区域值

转载 作者:太空宇宙 更新时间:2023-11-04 16:04:35 25 4
gpt4 key购买 nike

给定一个字符串数组,其中每个字符串都是已分配值的表单元素的 html,我想遍历该数组并删除每个元素的值。

我需要以相同的字符串数组结束,但其中:

  • inputtextarea 元素值都设置为 ''
  • select 元素选项全部取消选择
  • checkbox 元素全部未选中
  • 我将元素背景设置为黄色只是为了显示正在选择的文本区域

为此,我想将元素包装在一个 div 中,设置所有元素属性,然后获取 div 的 html。

这适用于所有元素除了文本区域

我试过了

  • .val('')
  • .attr('value', '')
  • .prop('value', '')

没有人能移除内存中文本区域的值。

var elements = [
'<input type="checkbox" checked>',
'<input type="text" value="1041">',
'<input type="text" value="activities">',
'<textarea>some text</textarea>',
'<select><option value=""></option><option value="1" selected>1</option></select>',
'<select><option value=""></option><option value="1" selected>1</option></select>',
'<textarea>some text</textarea>'
];

var newElements = [];
$.each(elements, function(i, item) {
var $temp = $('<div>').html(item);
var $tempElements = $temp.find('input:not(.row-select), textarea, select').addClass('test');
//$tempElements.val(''); // doesnt work at all
$tempElements.attr('value',''); // works for text inputs but not textarea
$tempElements.attr('checked', false);
$tempElements.find('option').attr('selected', false);
newElements.push($temp.html());
});

$('#result').html(newElements.join(''));
.test{
background-color:yellow;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="result"></div>

预期结果:

var elements = [
'<input type="checkbox">',
'<input type="text" value="1041">',
'<input type="text" value="activities">',
'<textarea>some text</textarea>',
'<select><option value=""></option><option value="1" selected>1</option></select>',
'<select><option value="" selected></option><option value="1">1</option></select>',
'<textarea></textarea>'
];

Here is a jsFiddle

我知道我可以将 html 附加到 dom 中的 div 并在那里做我需要的,但我很好奇是否没有办法在内存中执行此操作。

最佳答案

只需使用.text('') 即可删除textarea 的内容。

$tempElements.text('');

而且之前使用attr时不需要prop

// change
$tempElements.attr('value', '').prop('value', '');
// to
$tempElements.attr('value', '');

Wokring example.

关于javascript - 操作内存中 jQuery 对象的文本区域值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39077189/

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