鉴于脚本从.label
(text1或任何文本)中找到文本,然后将类class="text1"
添加到父列表{{1}像这样:<li>
Jquery的:
<li class="text1">
HTML:
$('.label a').each(function() {
$(this).closest('li').addClass($(this).text());
});
通过此脚本我们得到结果:
<div id="main-id">
<button class="one"></button>
<button class="two"></button>
<ul>
<li> <!--List 1-->
<span class="meta">
<div class="label">
<a href="http://lorem.com">text1</a> <!--This text-->
</div>
</span>
</li>
<li> <!--List 2-->
<span class="meta">
<div class="label">
<a href="http://lorem.com">text2</a> <!--This text-->
</div>
</span>
</li>
</ul>
</div>
请参阅示例Fiddle&gt;
现在关注我的问题我正在尝试将类和文本替换为按钮,有两个按钮,如<ul>
<li class="text1"> <!--Got New class to List 1-->
<span class="meta">
<div class="label">
<a href="http://lorem.com">text1</a>
</div>
</span>
</li>
<li class="text2"> <!--Got New class List 2-->
<span class="meta">
<div class="label">
<a href="http://lorem.com">text2</a>
</div>
</span>
</li>
</ul>
和<button class="one"></button>
,现在要放置类/文本按钮内的<button class="two"></button>
(或任何类)
比如:.text1
和
<button class="one text1">text1</li></button>
由上面给出的相同的jquery。
我已尝试过此替换文字script,但我无法做到这一点。有关其他方式的建议吗? 提前谢谢。
答案 0 :(得分:1)
不确定您的目的是什么,但您可以尝试这样的事情。
<html>
<body>
<div id="main-id">
<button class="one"></button>
<button class="two"></button>
<ul id="main-list">
<li>
<span class="meta">
<div class="label">
<a href="http://lorem.com">text1</a>
</div>
</span>
</li>
<li>
<span class="meta">
<div class="label">
<a href="http://lorem.com">text2</a>
</div>
</span>
</li>
</ul>
</div>
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
<script>
$(function(){
var btns = ['.one', '.two'];
$('#main-list li').each(function(k,el){
// use clone if you don't want to remove original dom element
var $li = $(el).clone();
var className = $li.find('a').text();
$li.addClass(className)
.empty()
.text(className);
var $btn = $(btns[k]);
$btn.append($li);
});
});
</script>
</body>
</html>