0

所以我大约一个小时前才开始尝试学习 jQuery,我已经得到了这段代码

只是想弄清楚为什么这$(".actions .readbody").click(...)条线似乎不起作用。

我最初有这个工作,所有按钮都在 a< ul >而不是 a < div >(每个按钮都有自己的< li >)。该类readbody被添加到读取正文按钮< li >而不是直接添加到按钮。有问题的行更像$(".actions li.readbody button").click(...).

完整代码发布在 jsfiddle 上:http: //jsfiddle.net/J6u5X/

4

5 回答 5

1

我 jsFiddled 你的例子 - 它更容易......以这种方式摆弄代码。见http://jsfiddle.net/v7ayc/

我注意到的第一件事是你的点击处理程序循环中的=运算符while,我猜你的意思是==.

无论如何,用以下代码替换函数的主体会切换内容:

$(this).parent('.actions').siblings('.body').toggle();

一般来说,jQuery 提供了更简单易读的遍历 DOM 的方式。随意使用它来代替标准的 DOM 接口。

于 2012-09-20T08:40:06.837 回答
0

从链接.actions 没有子类.readbody?使用$('.actions button').click..或给你的按钮一个类名,然后在 click 方法中引用它们

于 2012-09-20T08:32:41.940 回答
0

请参阅此链接Jquery

  $(".test").val()
  $("#test").val()

 .test is class name of the HTML tag
 #test is id name of the HTML tag 
于 2012-09-20T08:34:43.890 回答
0

问题是您在单击处理程序中尝试执行的操作不起作用。您通过两个 parentNode 调用在链上走得太远了

var mybody = this.parentNode.parentNode

这需要

var mybody = this.parentNode

您只需要一个即可访问文章正文。

看到一个更新的小提琴,它按照你的期望工作http://jsfiddle.net/8zsr5/2/

于 2012-09-20T08:36:15.633 回答
0

我认为问题在于 JavaScript 根本找不到您需要的元素。

我已经修改了你的代码来切换 while 循环,我已经让它工作了。这是一个小提琴

于 2012-09-20T08:43:16.040 回答