2013-03-07 26 views
1

的情况我有一个小问题:前面加上一个上一个()在考虑

<div class="items-row cols-1 row-2"> 
    <div class="item column-1"> 
    <h2> 
     <a href="/ak/index.php/archwriting/8-2013-02-23-17-31-29">lorem ipsum dolor sit amet</a> 
    </h2> 
    <dl class="article-info"> 
     <dt class="article-info-term"></dt> 
     <dd class="published">23/02/13</dd> 
    </dl> 
    <p>lorem ipsum</p> 
    <div class="item-separator"></div> 
</div> 
<span class="row-separator"></span> 
</div> 

我希望能够检查是否字符串“archwriting”是href属性中,如果是这样,在<h2>标记上方预先设置<img>

我开始喜欢的东西:

$('.item h2 a[href*="archwriting"]').prev().prependTo() 

怎样做正确的方式?

+0

您的字符串检查,你的选择不匹配jQuery对象前添加一个兄弟元素,你要筛选'archwriting'或'archphoto'? – mattytommo 2013-03-07 10:07:59

回答

2

.prev()去侧身,你想要去使用起来既.parent().closest(),后者是优选的,你应该介绍<a>和封闭<h2>之间更多的DOM层次。

jQuery中的.prepend().prependTo()功能添加新的元素作为子元素,而在这种情况下,你更逻辑添加兄弟

可以使用.before()

$('.item h2 a[href*="archwriting"]').closest('h2').before('<img ...>') 
+0

有一个'prepend' http://api.jquery.com/prepend/ – mattytommo 2013-03-07 10:08:50

+0

@mattytommo嗯,是的,在这方面没有用,虽然 – Alnitak 2013-03-07 10:09:50

+0

因为我被认为是一个绝对的初学者,我很想知道什么是适当的语法... – 2013-03-07 10:10:14

相关问题