数组最后一个单元格中不需要的对象
An unwanted object in the last cell of an array
我在解析的XML数组上使用以下代码:
$(this).find("cp_group").each(function() {
$("select#comp_1").append('<optgroup label="' + $(this).attr('label') + '"><option>' + $(this).find("cmp").map(function() {
return $(this).text();
}).get().join("</option><option>") + $(this).append('</option></optgroup>'));
});
我在每个选项组的最后一个选项中得到一个不需要的 [对象对象],如下所示:
<select name="comp_1" id="comp_1">
<optgroup label="Combat">
<option>Arme</option>
<option>Arts martiaux</option>
<option>Esquive</option>
<option>Feinte</option>
<option>Parade</option>
<option>Lutte[object Object]</option>
我不明白这个[对象对象]是从哪里来的,我没有实现不得到它或删除它。谢谢你的帮助。
它来自+ $(this).append(...)
.你只需要+'</option....'
部分,没有那个jQuery包装器。
你误解了jQuery,特别是append
是如何工作的。当你用jQuery操作东西时,你不是在处理标记(主要是),而是在处理对象(DOM元素)。
这应该可以解决它:
$(this).find("cp_group").each(function() {
// Get this entry
var $this = $(this);
// Create the optgroup
var optgroup = $('<optgroup label="' + $this.attr('label') + '">');
// Fill it in
$this.find("cmp").each(function() {
$("<option>").text($(this).text()).appendTo(optgroup);
});
// Append it to the select
$("select#comp_1").append(optgroup);
});
相关文章:
- JS变量返回的对象不是值
- 对象不支持属性或方法“自动完成”
- 如何在不需要单击按钮的情况下获取选项的值
- Mongoose TypeError:实例化模式类型的对象时,对象不是函数
- find()方法返回具有不需要的属性的对象
- AngularJS指令拖动对象如何删除不需要的鼠标效果
- 将 JSON 字符串转换为 JSON 对象,这样我就不需要在基本的 jquery.dataTables.js 中进行更改
- 数组最后一个单元格中不需要的对象
- PHP echo,在对象(需要)之前输出完整的 html 代码(不需要)
- Concat 对象不起作用,或者我需要将值转换为正确的格式
- 在grunt中设置一个属性就是创建一个不需要的json对象
- 为什么数学对象在javascript中不需要新关键字
- 函数.调用类似数组的对象,不需要第一个参数
- 删除对象列表中不需要的对象
- 使用string key访问或创建嵌套JavaScript对象,不需要eval
- 应用程序以某种方式将不需要的参数写入对象
- 可以将对象的属性传递给函数,而不需要定义参数,并通过对象的键来使用它们
- 从数组中获取特定对象而不需要循环的最佳方法
- 从对象数组中删除不需要的键
- 为什么如果我将对象传递到函数中,我不需要在javascript中声明函数参数