阅读更多内容始终打开第一个

时间:2014-04-22 08:32:21

标签: javascript

我的网页上有大约10篇短文。

每个按钮都是“阅读更多”按钮,按下时会显示隐藏文字

我现在遇到的问题是,当我按下10个按钮中的任何一个上的“阅读更多”时,它会显示第一篇文章的隐藏内容,而不是所选内容。

我想我需要为每篇文章设置一个唯一的ID ..并且read more按钮被链接到它..但我不知道如何设置它。

我看了这个,但无法让它运转how to give a div tag a unique id using javascript

var WidgetContentHideDisplay = {

init:function() {
   if ($('#content-display-hide').size() == 0) return;
    $('.triggerable').click(function(e){
        var element_id = $(this).attr('rel');
        var element = $('#'+element_id);
        element.toggle();
        if (element.is(':visible')) {
            $('.readmore').hide();
        } else {
            $('.readmore').show();
        }
       return false;
   });
}

}

var div = documentElemnt("div");
div.id = "div_" + new Date().gettime().toString;

$(document).ready(function(){ WidgetContentHideDisplay.init(); });

OP编辑:对不起,原始代码没有大写。我在尝试发布时遇到了错误,因此我将代码复制到Dreamweaver中,并且由于某种原因使其全部上限。

2 个答案:

答案 0 :(得分:1)

您可以为项目设置一个类,并使用类选择(例如$('#'+ELEMENT_ID))来选择孩子(或兄弟),而不是选择要用ID切换的元素(即$('.DETAILED-ARTICLE)')等等,具体取决于你构建HTML页面的方式。)

理论上,每个ID应指向一个元素,但每个类可以放置到任意数量的元素。

答案 1 :(得分:0)

如果您收到错误,请阅读错误并查看错误。在快速阅读您的代码之后,我注意到以下几点可能会导致问题:

  • " documentElemnt"错误拼写,这将使它无用。另外,documentElement是read-only property,而不是像您一样使用它的功能。
  • toString是一个函数,而不是属性,没有括号(.toString()),它不会像你想要的那样运行。

运行代码,查看控制台中的错误并修复它们。这就是你开始的地方。