目标特定的列表项并通过jquery输入文本


Target specific list items and enter text via jquery?

我怎样才能针对所有" 3级"answers" 4级"链接,并在显示链接的文本之前输入一个破破号?

e。因此,从下面的代码中,任何表示"3级页面1"或"4级页面1"的内容现在都会显示"- 3级页面1"

这是Wordpress生成的内容(所以我不能直接在链接中输入破折号):

<ul>
    <li class="top-level"><a href="#">Extra Curriculum</a></li>
    <li class="page_item page-item-42"><a href="#">Level 2 Page 1</a></li>
</ul>
<ul class='children'>
    <li class="page_item page-item-51">
        <a href="#">Level 3 Page 1</a>
        <ul class='children'>
            <li class="page_item page-item-56"><a href="#/">Level 4 Page 1</a></li>
            <li class="page_item page-item-57"><a href="#">Level 4 Page 2</a></li>
            <li class="page_item page-item-59"><a href="#">Level 4 Page 3</a></li>
        </ul>
    </li>
    <li class="page_item page-item-52"><a href="#">Level 3 Page 2</a></li>
    <li class="page_item page-item-54"><a href="#">Level 3 Page 3</a></li>
</ul>
<ul>
    <li class="page_item page-item-44"><a href="#">Level 2 Page 2</a></li>
    <li class="page_item page-item-47"><a href="#">Level 2 Page 3</a></li>
</ul>

我猜这是一个工作的jquery?

希望对您有所帮助

$('ul .children a').each(function() {
$(this).text("- "+$(this).text());
});
$("a:contains(Level 3),a:contains(Level 4)").each(function() {
    $(this).text("- "+$(this).text());
});

类似

li.level3, li.level4
{
   background-position: left;
   background-image : "url(dash.jpeg)";
   background-repeat: no-repeat;
   padding-left:10px;
}

jQuery代码:

$('a:contains(Level 3), a:contains(Level 4)').prepend('-');

链接到:JSFIDDLE

您可以使用:before伪元素:

.children > li:before {
  content: "-";
}