关于1-9的编程练习
这是我的JQ代码:
$(function () {
//此处写代码
var arrs = $('li').map(function(index,domElement){
return this.text();
})
console.log(arrs);
});
首先遍历每个li,再把每个li的内容取出来。为什么这样写不行呢?text()方法是获取当前元素的文本内容,为什么控制台提示错误呢?要是这样是错误该怎么把它提取出来放入数组呢?
为什么我这样写,在页面输出的是一串英文:
$(function () {
//此处写代码
var arr = new Array();
var arrs = $('li').each(function(index,domElement){
return $(domElement).text();
})
document.write(arrs.get())
});
我用map输出可以显示item1到item9,但是我把map改成each之后,就不能正常的输出,而且在控制台打印出来世li.item1,为什么map打印出来是item1,each打印出来就多了个li.老师能给我详细的介绍一下map和each的区别吗?最好能举例子,详细一点,谢谢老师
正在回答
可以定义数组,push 到里面,如下:
var obj = []; $('li').each(function () { obj.push($(this).text()); });
希望对你有帮助,祝学习愉快,欢迎采纳。
第一个:
var arrs = $('li').map(function(index,domElement){ return this.text(); // 改成 $(this).text() })
因为:$(this) 返回一个 jQuery 对象,你可以对它调用多个 jQuery 方法,比如用 text() 获取文本,用val() 获取值等等。而 this 代表当前元素,它是 JavaScript 关键词中的一个,表示上下文中的当前 DOM 元素。你不能对它调用 jQuery 方法.
第二个:each: 修改如下:
$('li').each(function () { console.log($(domElement).text()); });
li.item1 表示为 class 为.item1 的 li元素。
希望对你有帮助,祝学习愉快,欢迎采纳。
- 参与学习 人
- 提交作业 11218 份
- 解答问题 36713 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星