大家早上好!
我希望你能帮我简化我的代码片段。 我正在克隆一个包含所有内容的h3元素。 此克隆元素包含两个a元素和三个不同的文本片段。 我想删除内容的a-elements和part1和part2是一些静态文本。 他们只有我想要保留的文字是textOfUnknownLength。
问题1 我必须使用2.6版本的jQuery-library。 这是我到目前为止的代码,它很难看。我无法想出另一种方式。
克隆的h3元素
<h3 class="title">
part1 <a href="#" class="link1">text</a>
part2 textOfUnknownLength
<a href="#" class="link2">text</a>
</h3>
获取textOfUnknownLength
的代码var name = $("h3",e).clone();
name.find(".link1, .link2").remove();
name.filter("h3").each(function(){
if($(this).html() != ''){
$(this).html($(this).html().replace('part1','').replace('part2',''));
}
});
问题2 我想用span替换h3,但保留内容。我该怎么做?
感谢您的帮助。
答案 0 :(得分:1)
要将所有h3
替换为span
,您可以使用此功能:
$( "h3" ).each( function( index, element ) {
var $element = $( element );
$element.replaceWith( "<span>" + $element.html() + "</span>" );
} );
编辑:我编辑了代码以使用您的jQuery版本(&lt; 1.4)
编辑2:我编辑的代码真正适用于您的jQuery版本(&lt; 1.4)
答案 1 :(得分:0)
尝试这样的事情......
演示:http://jsfiddle.net/bZ8px/1
var name = $('.title').text().split(' ');
for (var i = 0; i < name.length; i++) {
if (name[i] == 'part2')
$('.title').after('<span>'+name[i+1]+'</span>');
}
答案 2 :(得分:0)
如果您的目标是转
<h3 class="title">
part1 <a href="#" class="link1">text</a>
part2 textOfUnknownLength
<a href="#" class="link2">text</a>
</h3>
到
<span>textOfUnknownLength</span>