所以我刚开始尝试在大约一个小时前学习jQuery,我已经this code
只是想弄清楚为什么$(".actions .readbody").click(...)
行似乎不起作用。
我最初使用此功能,其中所有按钮都在< ul >
而不是< div >
(并且每个按钮都有自己的< li >
)。 readbody
类被添加到Read body按钮的< li >
,而不是直接添加到按钮。有问题的一行更像是$(".actions li.readbody button").click(...)
。
完整代码发布在jsfiddle:http://jsfiddle.net/J6u5X/
上答案 0 :(得分:1)
我jsFiddled你的例子 - 以这种方式摆弄代码要容易得多。见http://jsfiddle.net/v7ayc/
我注意到的第一件事是你的点击处理程序=
循环中的while
运算符,我想你的意思是==
。
无论如何,用以下代码替换函数体来切换内容:
$(this).parent('.actions').siblings('.body').toggle();
一般来说,jQuery提供了更简单,更易读的遍历DOM的方法。随意使用它而不是标准的DOM接口。
答案 1 :(得分:0)
来自Link .actions没有子类.readbody?使用$('.actions button').click..
或给你的按钮一个类名,并在click方法中引用它们
答案 2 :(得分:0)
请参阅此链接Jquery
$(".test").val()
$("#test").val()
.test is class name of the HTML tag
#test is id name of the HTML tag
答案 3 :(得分:0)
问题是您在点击处理程序中尝试执行的操作无效。您通过两个parentNode调用
遍历链路太远var mybody = this.parentNode.parentNode
这需要
var mybody = this.parentNode
您只需要一个访问文章正文。
查看更新的小提琴答案 4 :(得分:0)
我认为问题是JavaScript根本无法找到您需要的元素。
我已经修改了你的代码来切换while循环并且我已经完成了它。这是一个fiddle。