我有一个包含链接或无链接项的列表,因此HTML如下所示:
<ul>
<li>
<a href="#">
<img />
<h3>Hello</h3>
<p>World</p>
</a>
</li>
<li>
<img />
<h3>Foo</h3>
<p>Bar</p>
</li>
</ul>
我正在尝试将所有内容包装在不是图像的列表项(或列表项链接)中。
以下是我正在做的事情:
// inside a loop over the listitems
var item = items[i];
var containsLinks = item.children.length === 1 && item.children[0].tagName === "A";
// this does not work...
var captionsContent = $( item ).children()
.filter(containsLinks ? "a" : null)
.not("img")
.wrap( "<div class='ui-captions-content'></div>" );
// neither does that
var captionsContent = $( item ).children()[containsLinks ? children : null]()
.not("img")
.wrap( "<div class='ui-captions-content'></div>" );
问题:
如何在jQuery中使用简写if-else语句“返回”返回值,或者如何在没有简写else语句的情况下进行条件链接?
谢谢!
答案 0 :(得分:1)
这对我有用:
var captionsContent = $( item )
.find(containsLinks ? "a *" : "*")
.not("img")
.wrap( "<div class='foo'></div>");
简短而且除了更好的答案,我会忍受它。