jQuery和.css()问题

jQuery和.css()问题,jquery,jquery-selectors,Jquery,Jquery Selectors,我必须这样设计ul: <ul id="accordion"> <li id="block.mainnavigation.cell"> <ul style="display: block; font-weight: bold;"> <li id="block.mainnavigation.cell"> <a target="" href="/event/catalo

我必须这样设计ul:

<ul id="accordion">
    <li id="block.mainnavigation.cell">
        <ul style="display: block; font-weight: bold;">
            <li id="block.mainnavigation.cell">
                <a target="" href="/event/catalog:items/categoryCode/COFFEEGRND" id="block.mainnavigation.link">Ground Coffee</a>
                <ul style="display: block;">
                    <li id="block.mainnavigation.cell">
                        <a target="" href="/event/catalog:items/categoryCode/COFFEEGRNDCAFECOLL" id="block.mainnavigation.link" style="font-weight: normal;">Café Collection Coffee</a>
                    </li>
                    <li id="block.mainnavigation.cell">
                        <a target="" href="/event/catalog:items/categoryCode/COFFEEGRNDFAIRTRAD" id="block.mainnavigation.link" style="font-weight: normal;">Fair Trade Organic Coffee</a>
                    </li>
                    <li id="block.mainnavigation.cell">
                        <a target="" href="/event/catalog:items/categoryCode/COFFEEGRNDOTHER" id="block.mainnavigation.link" style="font-weight: normal;">Ground Coffee Other</a>
                    </li>
                    <li id="block.mainnavigation.cell">
                        <a target="" href="/event/catalog:items/categoryCode/COFFEEGRNDPREMCAN" id="block.mainnavigation.link" style="font-weight: normal;">Premium Coffee -Can</a>
                    </li>
                </ul>
            </li>
            <li id="block.mainnavigation.cell">
                <a target="" href="/event/catalog:items/categoryCode/COFFEEPOD" id="block.mainnavigation.link">Coffee Pods</a>
            </li>
            <li id="block.mainnavigation.cell">
                <a target="" href="/event/catalog:items/categoryCode/COFFEEWHLBN" id="block.mainnavigation.link">Whole Bean Coffee</a>
                <ul style="display: block;">
                    <li id="block.mainnavigation.cell">
                        <a target="" href="/event/catalog:items/categoryCode/COFFEEWHLBNBULK" id="block.mainnavigation.link" style="font-weight: normal;">Whole Bean Coffee Bulk</a>
                    </li>
                    <li id="block.mainnavigation.cell">
                        <a target="" href="/event/catalog:items/categoryCode/COFFEEWHLBNCAFECOLL" id="block.mainnavigation.link" style="font-weight: normal;">Café Collection Coffee</a>
                    </li>
                    <li id="block.mainnavigation.cell">
                        <a target="" href="/event/catalog:items/categoryCode/COFFEEWHLBNOTHER" id="block.mainnavigation.link" style="font-weight: normal;">Whole Bean Coffee Other</a>
                    </li>
                </ul>
            </li>
        </ul>
    </li>
</ul>
我试图得到嵌套的ul的父对象并将其加粗,但我得到的是所有li及其包含的链接变为加粗

出于某种原因,如果我尝试设置底部边框属性,它将按预期工作:

$('ul#accordion ul').parent().children(":first").css('border-bottom','1px solid green')
对于我在这里遗漏的任何想法,我们将不胜感激

$('ul#accordion li').each(function(index) {
    if ($(this).has('ul'))
         $(this).css('font-weight', 'bold');
});
在你提供更多信息后编辑了我的答案

如果我没弄错的话,您希望找到make every
  • bold,它包含一个
    。因此,在我的代码片段中,我遍历了
      中的每一个
    • 元素,如果特定的
    • 包含任何类型的
      元素,它会使
    • 显示为粗体

      我希望这就是您所需要的,我相信您可以自己修改它以完全满足您的需要。

      该方法对于查找包含任何
        的所有
      • 非常有用:

        $('#accordion li').has('ul')
            .hide(); // Or .css or whatever
        

        虽然不是您最初问题的答案,但选择$('ul#accordion')比选择$('ul#accordion')要快。我以前也做过同样的事。你对nexted ul的父母是什么意思?包含UL的div?因为很明显。。如果你设置包含ul的div的字体粗体,很明显div的子项(因此ul和它的li)也会变为粗体。你有一大堆相同的id。这不是一个好主意。您应该使用class=“block.mainnavigation.cell”而不是使用id=“block.mainnavigation.cell”。ID应该是唯一标识符。。。。我只是想澄清一下这个丑陋的代码问题:我完全无法控制它。这都是机器生成的,而且很难看,这就是我的任务。事实上,只有在包含UL的情况下,我才会尝试制作粗体的LI
        $('#accordion li').has('ul')
            .hide(); // Or .css or whatever