我如何选择第二个ul li元素,我有这个结构: 的 HTML
<ul>
<li></li>
<ul>
<li>I want to select this</li>
</ul>
</ul>
答案 0 :(得分:6)
首先,您的HTML无效。您不能将Outer::Nested
作为另一个ul
的孩子。它必须在ul
之内。此外,li
中的文字也必须在ul
内。
li
然后在jQuery中选择它,你可以使用:
<ul>
<li>
<ul>
<li>I want to select this</li>
</ul>
</li>
</ul>
您也可以使用不太严格:$('ul > li > ul > li:first');
,具体取决于您需要遵守定义的HTML结构的严格程度。
答案 1 :(得分:0)
您提供的结构不正确,子<ul>
标记应放在<li>
标记内。
然后结构就像
<ul class="ul">
<li></li>
<li>
<ul>
<li>I want to select this </li>
</ul>
</li>
</ul>
然后你可以使用jquery作为
来获得那个孩子<ul>
$(".ul li ul");
希望这会有所帮助。
答案 2 :(得分:0)
首先,您必须向父级ul:
添加一个类或ID<ul class="root">
<li></li>
<ul>
I want to select this <li></li>
</ul>
</ul>
然后,您选择选择第二个,因为它将始终是第二个(索引1):
$(".root").find("li").eq(1)
或者您向<li>
添加了一个课程:
<ul class="root">
<li></li>
<ul>
I want to select this <li class="myLi"></li>
</ul>
</ul>
然后
$(".root").find(".myLi")
答案 3 :(得分:0)
尝试使用多个选项的此代码段。
console.log($('ul > ul > li:eq(0)').text());
//OR
console.log($('ul').find('ul > li:eq(0)').text());
//OR
console.log($('ul').children('ul').find('li:eq(0)').text());
//OR
console.log($('ul > ul').find('li:eq(0)').text());
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul><b>First ul</b>
<li>First li</li>
<ul> <b>Second ul</b>
<li>First li in second ul</li>
</ul>
</ul>
&#13;
答案 4 :(得分:-1)
您可以使用querySelector
来执行此操作。请查看以下示例。
git-resolve-conflict() {
STRATEGY="$1"
FILE_PATH="$2"
if [ -z "$FILE_PATH" ] || [ -z "$STRATEGY" ]; then
echo "Usage: git-resolve-conflict <strategy> <file>"
echo ""
echo "Example: git-resolve-conflict --ours package.json"
echo "Example: git-resolve-conflict --union package.json"
echo "Example: git-resolve-conflict --theirs package.json"
return
fi
git show :1:"$FILE_PATH" > ./tmp.common
git show :2:"$FILE_PATH" > ./tmp.ours
git show :3:"$FILE_PATH" > ./tmp.theirs
git merge-file "$STRATEGY" -p ./tmp.ours ./tmp.common ./tmp.theirs > "$FILE_PATH"
git add "$FILE_PATH"
rm ./tmp.common
rm ./tmp.ours
rm ./tmp.theirs
}
&#13;
var li = document.querySelector('ul ul li');
console.log(li.innerHTML);
&#13;