我有一根绳子:
'Dow<br> <span class="table-sub-header">Value</span>'
我想取代&#39;价值&#39;在任意变量的范围内。我知道跨度课程每次都会在那里。
我尝试过这样的事情:
var s = 'Dow<br> <span class="table-sub-header">Value</span>';
然后用正则表达式替换像这样的东西:
/<span class="table-sub-header">*</span>/
但它看起来很乱。这样做有干净的方法吗?
编辑:&#39;价值&#39;在这种情况下是任意的。我不知道它是什么,我想要一个通用的方法来替换范围内的内容。
答案 0 :(得分:3)
如果您使用的是浏览器,可以尝试将s
放入某个元素innerHTML
并将其替换为dom do
var s = 'Dow<br> <span class="table-sub-header">Value</span>';
t = document.createElement('div');
t.innerHTML = s;
t.querySelector('.table-sub-header').textContent = 'Something Else';
t.innerHTML // 'Dow<br> <span class="table-sub-header">Something Else</span>'
顺便说一句,你的正则表达式应该是/<span class="table-sub-header">(.*)<\/span>/
答案 1 :(得分:0)
您是否尝试过replace
字符串方法?
var s = 'Dow<br> <span class="table-sub-header">Value</span>';
s = s.replace("Value", "New Value");
答案 2 :(得分:0)
是的,您可以使用jQuery。
var s = 'Dow<br> <span class="table-sub-header">Value</span>';
var div_wrapper = '<div style="display:none;">'+s+'</div>';
$(document).ready(function(){
$('body').append(div_wrapper);
var new_value = 'newvalue'; // an arbitrary variable
$('.table-sub-header').text(new_value);
console.log($('.table-sub-header').text());
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>
<body>
</body>
</html>
&#13;
答案 3 :(得分:0)
您可以使用JavaScript或任何JavaScript库动态替换span
标记中的内容。例如,使用Javascript,您可以使用类选择器来选择范围,并根据某种条件或逻辑将内部html设置为您想要的任何值。您也可以使用Jquery .text()
请参阅以下链接 https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML http://api.jquery.com/text/