0

我正在使用博客模板 - squarespace 6,它不允许我访问 .html / 并且只能访问 .css

每次我创建博客文章时,我都会为其添加标签和类别 - 但这些标签/类别放置在博客文章的底部。我正在尝试将它们移至侧边栏。

问题是我每页有多个博客文章,我正在尝试使用 jquery 来选择.tags.category类并将它们移动到.sidebar前面的.date代码中,如下所示:

$(document).ready(function(){

var $categories = $('div.categories').parent('article');
var $spanDate =('span.date').parent('article');  

$categories.insertBefore($spanDate);

});

(此代码只是 .categories 的示例)

问题是这段代码从每篇博客文章中获取标签/类别并将其应用于每个侧边栏,因此类别和标签会混淆。

我正在尝试获取代码来选择父文章的.tags.category,然后将它们移动到 . sidebar同一个父母article

我不能使用任何特定的 ID,因为我希望这适用于每篇博客文章 - 但标签/类别需要保留在该文章中。

注入的代码很多,但HTML的基本结构如下:

<blog>  //Wrapper for the whole blog page
<content>
<article> //Each article is a blog entry
  <section class="main"> //Contains the contents of the blog entry. This also has a dynamically generated ID, 
    //Blog Entry Content Goes Here
    <footer>
      <div class="meta"> //Contains the tags/categories I try to pull out of the DOM
        <span class="tags"></span> //Contains the tags each wrapped in an `<a>`
        <span class="categories"></span> //Contains the category tags
      </div>
    </footer>
   </section>
   <section class="sidebar"> //This is where I'm trying to place the tags/categories
     <span class="date"></span> //I try to place the category before this in the jquery code above
     <more spans....> // I try to place the tags appended onto the end of the sidebar (code not shown above).
   </section>
</article>
<article></article> //More blog entries with same structure
<article></article> //More blog entries with same structure
<article></article> //More blog entries with same structure
</content>
</blog>
4

1 回答 1

0

如果我的理解正确,应该这样做:

$('div.categories').each(function(){
    var $this = $(this);
    var $date = $this.closest("article").find(".date");

    $this.insertBefore($date);
});

关键是对于每一个.categories我都找到相关的.date而不是所有.date的。此外,您的代码不应该对提供的 html 做任何事情。您.categories或您.date都没有article.

于 2013-02-07T14:31:14.520 回答