哎, 我不知道这篇文章应该有什么标题,很难形容:)
我有一个带有数字的动态ID
<div id="post-full-116">Content</div>
<div id="post-116">Content</div>
我想查询id =“post-full-116”的动态数字(在本例中为116),如果存在id =“post-116”的页面上的另一个div,我想删除它。
我知道这听起来很奇怪。所以你得到它背后的想法,id =“post-number”的div保存帖子的预览,而id =“post-full-number”的div保存帖子的全部内容。如果已经显示完整帖子,我不想显示帖子的预览 - 所以我只想用jquery隐藏它。我知道我之前应该在服务器端执行此操作,但在这种情况下,jquery将是完美的。
任何想法如何查询动态ID的数量并删除相同数字的相应div?
谢谢
答案 0 :(得分:3)
$('div[id^="post-full"]').each(function(){
$('#post-' + this.id.split('-')[2]).remove();
});
答案 1 :(得分:1)
.toggle()
会显示div隐藏的内容,如果隐藏则隐藏它。
例如:
$("#post-full-116").toggle();
$("#post-116").toggle();
或者你可以检查div是否可见或隐藏:
if ($"#post-116").is(":visible")
{
$("#post-116").hide();
$("#post-full-116").show();
}
else
{
$("#post-116").show();
$("#post-full-116").hide();
}
答案 2 :(得分:1)
你能有一个&lt; div id =“post-116”&gt; Content&lt; / div&gt;并添加类似class =“full”的东西,如果它是完整大小的版本。如果从预览到完整大小视图,您只需找到id =“post-116”的元素并替换内容并添加属性。如果您从全尺寸视图进入预览,则再次找到div并替换内容并删除该类。
答案 3 :(得分:0)
我想你会做这样的事情:
$(function() {
$('[id^=post-full]').each(function() {
var num = $(this).attr('id').replace(/post\-full\-/,'');
$('#post-' + num).hide();
});
});
这应该抓住任何“完整”帖子,找到帖子的号码,并隐藏它的“预览”版本。
更新:
以下是现场演示:http://jsfiddle.net/Ender/saUQf/