jQuery和.css()问题
我必须这样设计ul: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 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