我有一个对象数组,其中一些对象值包含我需要删除的 HTML 标记。
我试着遍历它,然后在元素上使用 jQuery 函数 unwrap()
,但我收到一个错误,指出 unwrap
不是一个函数。
var tempData = w2ui.grid.records;
// Modify our tempData records to remove HTML
$.each(tempData, function(key, value) {
value.unwrap('a');
});
我的结构如下:
Array [
Object,
Object,
Object
]
对象/属性示例:
Object = {
Name: 'Bob',
email: 'bob@gmail.com'
website: '<a href="http://www.example.com">Example.com</a>'
}
修改对象后的期望输出:
Object = {
Name: 'Bob',
email: 'bob@gmail.com'
website: 'Example.com'
}
这是我开始的一个快速示例 fiddle :https://jsfiddle.net/zcwk1kw6/
该示例显示了包含 HTML 的单个值,但我的最终目标是从任何值中删除所有 HTML,而不是针对特定属性。
解决这个问题的最佳方法是什么?
最佳答案
$.each(data, function(key, value) {
data[key].Website = $(value.Website).text();
});
这应该可以完成工作。
编辑:对于任何属性:
$.each(data, function(key, value) {
$.each(value, function(_key, _value) {
data[key][_key] = $('<div>'+_value+'</div>').text(); // <div></div> for those which are simply strings.
});
});
关于Javascript 从对象值中删除 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42516630/