Clojure,Enlive:当使用多步选择器时,如何使用否定?
我用Enlive表示Clojure。我试图在li标记中,在一个特定的div标记中获得类为“title”的span标记Clojure,Enlive:当使用多步选择器时,如何使用否定?,clojure,selector,negation,enlive,Clojure,Selector,Negation,Enlive,我用Enlive表示Clojure。我试图在li标记中,在一个特定的div标记中获得类为“title”的span标记 <div class="main"> <li><span class="title">wanted</span></li> <li><span class="title">wanted</span></li> <li class="dummy"
<div class="main">
<li><span class="title">wanted</span></li>
<li><span class="title">wanted</span></li>
<li class="dummy"><span class="title">NOT wanted</span></li>
</div>
问题是如何只通过一个选择调用就实现这一点。我无法通过多个步骤使用'but'否定,最后使用了嵌套的2个select调用
有人能把这些放在一个select表达式中吗?我猜您提出的选择器正是正确的 它不匹配的原因是您的HTML格式不正确——请记住,默认的TagSoup解析器会尝试清理您的输入。在片段中,您有列表上下文之外的列表项,因此TagSoup提前关闭包装
必须将列表项包装在列表中,例如
:
HTML示例是错误的,ol标记实际上存在。你的选择器工作!我尝试了许多交叉点[]括号的变体,但不是你在这里回答的那个。现在我知道了使用否定时如何使用括号。非常感谢!:)
(html/select (html/select src [:div.main]) [[:li (html/but
:li.dummy)] :span.title])
<div class="main">
<ol>
<li><span class="title">wanted</span></li>
<li><span class="title">wanted</span></li>
<li class="dummy"><span class="title">NOT wanted</span></li>
</ol>
</div>
(html/select src [:div.main [:li (html/but :.dummy)] :span.title])