0

我正在尝试将图像添加到img-wrapperdiv 并将其包装在hrefpost-title 锚点中。也许这令人困惑。继承人的代码:

     $(".post").each(function() {
    if($(this).find(".post-excerpt > p:first-child").has("img").length){

        if($(this).find(".post-title").has("a").length){

            $(this).find(".img-wrapper").prepend("<a href='"+$(this).find(".post-title a").attr("href")+"'></a>");

            $(this).find(".post-excerpt > p:first-child").has("img").find("img").prependTo($(this).find(".img-wrapper a"));

        }else{

            $(this).find(".post-excerpt > p:first-child").has("img").find("img").prependTo($(this).find(".img-wrapper"));
        }
    }
});

一切正常,但锚点和 div 被添加到 2 个地方,正确的地方(内部.img-wrapper,以及.post-title a. 我不明白为什么它被添加到post-title a. 这是生成的 html:

<article class="post">

    <div class="img-wrapper"><a href="/test-image-post/#top"><img alt="" src="/content/images/2013/Oct/img.jpg"></a>

        <header class="post-header">

            <h2 class="post-title"><a href="/test-image-post/#top"><img alt="" src="/content/images/2013/Oct/img.jpg">Post Title</a></h2>

        </header>

        <section class="post-excerpt">

        </section>

    </div>

</article>

同样,我试图仅将图像添加到img-wrapperdiv 中。谢谢。

4

1 回答 1

1

我尝试在本地系统上复制您的代码,发现图像出现两次,原因是:

".img-wrapper a", instead you have to use it as ".img-wrapper > a:first-child" after prepending anchor.

在这里小提琴:http: //jsfiddle.net/BvGXs/

图像未加载由于路径,虽然正确地预先设置。

于 2013-10-23T10:06:47.197 回答