我想将href
和id
包裹在span
中包含的最后三个字符中。
HTML
<span id="cartCost">€0.00 EUR</span>
跨度的最后三个字符始终是货币代码。货币代码将根据您所在的地区自动更改。我试图将最后三个字符(货币代码)包装在href
中。 href将用于激发选择框,并且不需要链接只是一个ID(所以即使将代码包装在div中也足够了。)
我知道我需要使用.each()
,.wrapInner
和substring
。无论如何,这是我一直在尝试的:
$('#cartCost').each(function() {
var count = $(this).text( text.substring(-3)
code = $(count).text();
$(code).wrapInner('<a href="#" id="open">');
})
最终结果应如下所示:
<span id="cartCost">€0.00 <a href="#" id="open">EUR</a></span>
任何解决方案,非常感谢。
答案 0 :(得分:2)
第一个ID必须是唯一的..使用类来代替
第二
$('.cartCost').each(function() {
// get the text and use trim to avoid left and right white spaces
var count = $.trim($(this).text());
// get last three .. substring() needs start index and end index
var lastthree = count.substring(count.length - 3 , count.length);
// replace last three with html code we want
var replaceit = count.replace(lastthree , '<a href="#" class="open">'+ lastthree +'</a>');
// append the new value as a html using .html()
$(this).html(replaceit);
})
答案 1 :(得分:0)
<script>
$(document).ready(function(){
var content = $('#cartCost').html();
var code = content.substr(-3);
var newCode = "<a href='#' id='open'>" + code + "</a>";
var newContent = content.replace(code, newCode);
$('#cartCost').html(newContent);
});
</script>
<span id="cartCost">€0.00 EUR</span>