查找然后替换 Class 和文本到按钮
Find then Replace Class and text to Button
给定的脚本从 .label
(text1 或任何文本) 中找到 text,然后添加 class class="text1"
到父列表 <li>
像这样:<li class="text1">
Jquery:
$('.label a').each(function() {
$(this).closest('li').addClass($(this).text());
});
HTML:
<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>
通过这个脚本我们得到结果:
<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>
请参阅示例 Fiddle >
现在 根据我的问题,我正在尝试替换 Class 和文本到按钮,有两个按钮,例如 <button class="one"></button>
和 <button class="two"></button>
, 现在想在按钮内放置 class/text .text1
(或任何 class),
喜欢: <button class="one text1">text1</li></button>
和
<button class="two text2">text2</li></button>
上面给出的相同 jquery。
我试过这个替换文本 script,但我做不到。对其他方法有什么建议吗?
提前致谢。
不确定您要做什么,但您可以尝试这样的事情。
<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>
给定的脚本从 .label
(text1 或任何文本) 中找到 text,然后添加 class class="text1"
到父列表 <li>
像这样:<li class="text1">
Jquery:
$('.label a').each(function() {
$(this).closest('li').addClass($(this).text());
});
HTML:
<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>
通过这个脚本我们得到结果:
<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>
请参阅示例 Fiddle >
现在 根据我的问题,我正在尝试替换 Class 和文本到按钮,有两个按钮,例如 <button class="one"></button>
和 <button class="two"></button>
, 现在想在按钮内放置 class/text .text1
(或任何 class),
喜欢: <button class="one text1">text1</li></button>
和
<button class="two text2">text2</li></button>
上面给出的相同 jquery。
我试过这个替换文本 script,但我做不到。对其他方法有什么建议吗? 提前致谢。
不确定您要做什么,但您可以尝试这样的事情。
<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>