从jQuery中的字符串值列表创建和附加DOM对象
我很困惑,也不确定我对jQuery的了解到底在哪里。有人能解释为什么这不起作用吗?(我已经设置了一个新的按钮,以便更轻松地直接跳入) 给定HTML:从jQuery中的字符串值列表创建和附加DOM对象,jquery,dom,Jquery,Dom,我很困惑,也不确定我对jQuery的了解到底在哪里。有人能解释为什么这不起作用吗?(我已经设置了一个新的按钮,以便更轻松地直接跳入) 给定HTML: 和Javascript字符串: var itemString=“Item1、Item2、Item3”; 为什么以下将字符串作为LI对象追加的方法不起作用(报告的错误为“未找到”\u ERR:DOM异常8): aStrings=itemString.split(“,”); aLi=$.map($.makeArray(aStrings),函数(x
和Javascript字符串:
var itemString=“Item1、Item2、Item3”;
为什么以下将字符串作为LI对象追加的方法不起作用(报告的错误为“未找到”\u ERR:DOM异常8):
aStrings=itemString.split(“,”);
aLi=$.map($.makeArray(aStrings),函数(x){
返回$(“”)。文本(x);
});
$(“#MyList”).append(aLi);
使用$.each()是可行的(以下示例),但我对$.map方法的理解有什么问题
aStrings=itemString.split(“,”);
$。每个(收敛,功能(i,x){
$(“MyList”).append($(“”).text(x));
});
aLi,我的数组不是LI DOM元素的真实集合吗
提前感谢…来自jQuery文档:
说明:通过函数传递当前匹配集中的每个元素,生成包含返回值的新jQuery对象
您没有在匹配集上使用它,即$('someSelector').map(函数{}).doSomethingWithReturnedJQueryObject()
。如果您将项目放在一个列表中,并希望将其移动到另一个列表中,您可以使用map函数,但我认为它不打算像您在非工作示例中那样使用
换句话说,map()
函数的使用方式与您在此处尝试使用它的方式完全相反。您可以使用它获取每个的内容,并从中构建index1、index2、index3字符串。来自jQuery文档:
说明:通过函数传递当前匹配集中的每个元素,生成包含返回值的新jQuery对象
您没有在匹配集上使用它,即$('someSelector').map(函数{}).doSomethingWithReturnedJQueryObject()
。如果您将项目放在一个列表中,并希望将其移动到另一个列表中,您可以使用map函数,但我认为它不打算像您在非工作示例中那样使用
换句话说,map()
函数的使用方式与您在此处尝试使用它的方式完全相反。您可以使用它来获取每个
的内容,并从中构建index1、index2、index3字符串。甚至没有理由将jQuery中需要的简单html包装到映射中。它会创建额外的不必要的函数调用。另外,aStrings
已经是一个数组,因此不需要使用$.makeArray()
试试这个:
aStrings = itemString.split(",");
aLi = $.map(aStrings, function(x) {
return "<li>" + x +"<li>";
}).join('');
$("#MyList").append(aLi);
aStrings=itemString.split(“,”);
aLi=$.map(收敛,函数(x){
返回“”+x+“ ”;
}).加入(“”);
$(“#MyList”).append(aLi);
$.map
返回一个字符串数组,该数组将join()
更改为单个字符串,然后追加该字符串
演示:实际上没有理由将jQuery中需要的简单html包装到映射中。它会创建额外的不必要的函数调用。另外,aStrings
已经是一个数组,因此不需要使用$.makeArray()
试试这个:
aStrings = itemString.split(",");
aLi = $.map(aStrings, function(x) {
return "<li>" + x +"<li>";
}).join('');
$("#MyList").append(aLi);
aStrings=itemString.split(“,”);
aLi=$.map(收敛,函数(x){
返回“”+x+“ ”;
}).加入(“”);
$(“#MyList”).append(aLi);
$.map
返回一个字符串数组,该数组将join()
更改为单个字符串,然后追加该字符串
演示:哈哈。很抱歉好的,jQuery有点让人困惑,因为它有两个几乎相同签名的不同函数。阅读该页面后,我同意@charlietfl给出的答案。有一些jQuery方法,例如map
和每个
都可以使用不同的方法。也和jQuery的内部用法有关。哈哈。很抱歉好的,jQuery有点让人困惑,因为它有两个几乎相同签名的不同函数。阅读该页面后,我同意@charlietfl给出的答案。有一些jQuery方法,例如map
和每个
都可以使用不同的方法。也与jQuery的内部用法有关。