jquery的中出现【object object】问题

代码是这样的:document.write($('p‘).text($('ulli:eq(2)').text()));... 代码是这样的:

document.write($('p‘).text($('ul li:eq(2)').text()));
展开
 我来答
澤希Dc
2014-04-01 · TA获得超过1747个赞
知道小有建树答主
回答量:509
采纳率:0%
帮助的人:243万
展开全部

因为你document.write的是一个$('p')对象,而不是$('p').text(),所以会输出[object object],你可以分两段写:

$('p').text($('ul li:eq(2)').text());
document.write($('p').text());

这样就OK了

追问
我本来是想用语句“$('p‘).text($('ul li:eq(2)').text());”把的内容设置成li:eq(2)的内容,可是网页上的内容就是不改变,怎么解决?

用你说的打印可以正确显示text()的。
追答
<p>p的内容</p>
<ul>
<li>li0</li>
<li>li1</li>
<li>li2</li>
</ul>
<script>
$("p").text($("ul li:eq(2)").text());
document.write($("p").text());
</script>

经上面代码测试,P的内容会改变,会不会是你的li只写了2个,导致eq(2)遍历不到li,PS:eq是从0开始的

房雁凡s9
2014-04-01 · TA获得超过1360个赞
知道小有建树答主
回答量:504
采纳率:100%
帮助的人:496万
展开全部
将这一句分解
1. document.write(value) 打印一段文本

2. $('p‘).text(value) 为p元素设置内置文本

3. $('ul li:eq(2)').text() 获取该元素的文本内容

其中第2句 会返回p元素的jquery包装对象, 第1句会将该jquery对象转换为string类型, 因此object对象的 .toString()结果就是 [object object]
追问
谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式