获取图像标题并放在标记之前

时间:2014-02-13 07:35:09

标签: jquery

那是我的html代码

<ul>
    <li>
        <a class="" href="33.jpg">
        <img style="opacity: 0.7;" title="<a href='http://www.abc.com.au/13.html' >Cosmo Bride - Spring 2013</a>" src="33.jpg" class="image" height="200" width="150">
        </a>
    </li>

    <li>
        <a class="" href="29.jpg">
        <img style="opacity: 0.7;" title="<a href='http://www.abc.com.au/br.html' >Bazaar </a>" src="9.jpg" class="image">
        </a>
    </li>
</ul>

我用下面的代码获取每个图像标题

jQuery('img.image').each( function(idx,img) {
    pTitle = img.title;

});

但我需要这样的结果

<ul>
        <li>
            <a href='http://www.abc.com.au/13.html' >Cosmo Bride - Spring 2013</a>
            <a class="" href="33.jpg">
            <img style="opacity: 0.7;" title="<a href='http://www.abc.com.au/13.html' >Cosmo Bride - Spring 2013</a>" src="33.jpg" class="image" height="200" width="150">
            </a>
        </li>

        <li>
           <a href='http://www.abc.com.au/br.html' >Bazaar </a>
            <a class="" href="29.jpg">
            <img style="opacity: 0.7;" title="<a href='http://www.abc.com.au/br.html' >Bazaar </a>" src="9.jpg" class="image">
            </a>
        </li>
</ul>

2 个答案:

答案 0 :(得分:1)

您可以使用insertBefore()

jQuery('img.image').each( function(idx,img) {
    var pTitle = img.title,
        $this = $(this);
    $(pTitle).insertBefore($this.parent());
});

<强> Fiddle Demo

答案 1 :(得分:0)

你不能将html代码写为属性值(img title here),因为它会在单引号和双引号上中断。

但是您可以将锚点(此处为ptitle)添加为隐藏锚点然后显示它并使用jQuery将其移动到其他地方