字符串替换(javascript)

时间:2016-06-15 15:40:49

标签: javascript

我有一根绳子:

'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;在这种情况下是任意的。我不知道它是什么,我想要一个通用的方法来替换范围内的内容。

4 个答案:

答案 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。

&#13;
&#13;
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;
&#13;
&#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/