我拥有的 HTML 如下所示:
<div id="container">
<ul>
<li>
<div class="oneClass">
<img src="http:image.jpg">
</div>
<div class="anotherClass" id="oneID">
<div class="twoClass" id="randomID">
<cite class="user">
<a href="http://someURL" >Name</a>
</cite>
<span class="icon user"></span>
<span class="threeClass">
<a href="http:URL#oneID">some text</a>
</span>
</div>
<p class="content" id="randomID">some words content</p>
</div>
</li>
<li>
<div class="oneClass">
<img src="http:image.jpg">
</div>
<div class="anotherClass" id="anotherID">
<div class="twoClass" id="randomID">
<cite class="user">
<a href="http://someURL" >Name</a>
</cite>
<span class="icon user"></span>
<span class="threeClass">
<a href="http:URL#anotherID">some text</a>
</span>
</div>
<p class="content" id="randomID">some words content</p>
</div>
</li>
</ul>
</div>
我需要的是找到一种方法来检测 oneClass 之后的下一个 ID,并用于围绕 oneClass 创建另一个 div。例子:
<div id="container">
<ul>
<li>
<div id="myName_oneID">
<div class="oneClass">
<img src="http:image.jpg">
</div>
</div>
<div class="anotherClass" id="oneID">
<div class="twoClass" id="randomID">
<cite class="user">
<a href="http://someURL" >Name</a>
</cite>
<span class="threeClass">
<a href="http:URL#oneID">some text</a>
</span>
</div>
<p class="content" id="randomID">
some words content
</p>
</div>
</li>
<li>
<div id="myName_anotherID">
<div class="oneClass">
<img src="http:image.jpg">
</div>
</div>
<div class="anotherClass" id="anotherID">
<div class="twoClass" id="randomID">
<cite class="user">
<a href="http://someURL" >Name</a>
</cite>
<span class="threeClass">
<a href="http:URL#anotherID">some text</a>
</span>
</div>
<p class="content" id="randomID">
some words content
</p>
</div>
</li>
</ul>
</div>
我试图从这样的锚中得到它:
$(".threeClass a").map(function () {
var myID ="myName_" + this.hash.replace(/#/, '');
//alert(myID);
$(".oneClass").each(function () {
$(this).wrap("<div id='" + myID + "' />");
});
});
如果我测试警报(myID),它会正确检测到,但是当我尝试使用它来包装新的 div 时,它会为所有 oneClass 创建具有相同 ID 的它。
可以做到吗?
我是 javascript 或 Jquery 的新手,并以正确的方式欣赏帮助或指导。
谢谢你。