2014-09-01 74 views
0

我有问题。我需要这个p标签来显示每当标签被点击。这些标签与新闻/博客帖子的列表相关,所以我需要一个通用的jquery函数,而不管每个帖子列出的类是什么。删除属性点击查询

以下是部分博文的示例html代码片段。

<p style="display:none;" class="_83214">text goes here </p> 
<a class="_83214" href="#">Read More</a> 

这里是jQuery的。我为导航做了类似的事情,它运行得很好,所以我不知道为什么它现在不工作。

$('a').click(function() { 
var myClass = this.className; 
$("p." + myClass).css('display', 'initial'); 
}); 


编辑: 我得到它的工作!我在原始JSON解析代码中放置了使用.prev方法发布的建议,而不是在其外部。现在它就像一个魅力,我不必使用类。

下面是最终的工作代码。

<script> 

$.getJSON("js/news.json", function(data) { 
    $.each(data.posts, function(index, val) { 
     var title = val.title; 
     var date = val.date; 
     var content = val.content; 
     var after = content.substring(300); 
     if (content.length > 300) { 
      content = content.substring(0, 300); 
      $("#newscontainer").append('<div><h1>' + title + '</h1><h2>' + date + '</h2><p>' + content + '. . . </p> <p style="display: none;">' + after + '</p><a class="reveal" href="#">Read More</a></div><hr>'); 
      $('a.reveal').click(function() { 
      $(this).prev().css('display', 'initial')}); 
     } else { 
      $("#newscontainer").append('<div><h1>' + title + '</h1><h2>' + date + '</h2><p>' + content + '</p></div><hr>'); 
     } 

    }); 
}); 


</script> 
<div id='newscontainer'> 
</div> 
+0

使用显示块,而不是... – 2014-09-01 03:59:28

+0

如果使用.prev()我的回答解决你的问题,你应该考虑将其标记为接受的答案和/或提升它。 – j08691 2014-09-01 04:38:54

+0

我需要15个声望才能投票。我确实将它作为接受的答案。对不起,如果我冒犯了你,我是新来这个网站=] – Jeremy 2014-09-01 04:39:44

回答

0

如果你需要一类独立的解决方案,使用方法:

$('a').click(function() { 
    $(this).prev('p').css('display', 'initial'); 
}); 
0

试试这个

$('a').click(function() { 
var myClass = $(this).attr("class"); 
$("p." + myClass).css('display', 'initial'); 
}); 

编辑

u能修改为从JSON创建的HTML为u这样说

<p style="display:none;" class="_83214">text goes here </p> 
<a onclick="javascript:displayPost($(this));return false;" class="_83214">Read More</a> 

的Javascript这样

function displayPost(anchor) { 
    var myClass = anchor.attr("class"); 
    $("p." + myClass).css('display', 'initial'); 
}); 
+0

这是我原来的,它仍然没有按照我的希望工作。难道是因为html博客文章正在被javascript和JSON创建和插入吗? – Jeremy 2014-09-01 03:59:09