我希望从这个简单的HTML页面中获取“第1项,第2项”:
<html>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<body>
<ul id="mylist">
<li>item 1</li>
<li>item 2</li>
</ul>
</body>
</html>
以下是我在Chromium的JavaScript控制台上尝试的内容:
> var a = $("#mylist").children().map(function(index,element){ return $(element).text(); });
> a
["item 1", "item 2"]
> a.join(", ")
TypeError: Object [object Object] has no method 'join'
如果a
是数组对象,join
将起作用:
> ["item 1", "item 2"].join(", ")
"item 1, item 2"
但事实并非如此,如何加入?
答案 0 :(得分:3)
答案 1 :(得分:2)
你错过了.toArray()部分
var a = $("#mylist").children().map(function(index,element){ return $(element).text(); }).toArray().join(", ");
答案 2 :(得分:1)
每个()方式:
var results = [];
$("#mylist li").each(function() {
results.push($(this).text());
});
results = results.join(", ");
答案 3 :(得分:0)
以下是两种可能性:
1:
var a = $("#mylist").children().map(function(index,element){ return $(element).text(); });
var string = ""
for (var i = 0; i < a.length - 1; i++) string += a[i] + ", ";
string += a[a.length - 1];
2:
var a = $("#mylist").children().map(function(index,element){ return $(element).text(); });
var b = [];
for (var i = 0; i < a.length; i++) b.push(a[i]);
b.join(", ");