我尝试使用jquery正则表达式替换文本字符串,而不是将文本乘以4而不是仅替换匹配。
代码:
var $div = $('#container div');
$div.text($div.text().replace(/division/ig, 'div'));
<div id="container">
<div>this is the first division element</div>
<div>this is the second division element</div>
<div>this is the third division element</div>
<div>this is the fourth division element</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
从我在材料中看到的,这段代码应该可以正常工作。但不知何故,它并没有产生预期的结果。有人可以指出我正确的方向吗?
答案 0 :(得分:4)
您必须使用循环或回调函数,因为您拥有多个元素。
$('#container div').text(function(i, text) {
return text.replace(/division/ig, 'div');
});
示例:
$('#container div').text(function(i, text) {
return text.replace(/division/ig, 'div');
});
&#13;
<div id="container">
<div>this is the first division element</div>
<div>this is the second division element</div>
<div>this is the third division element</div>
<div>this is the fourth division element</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
&#13;
答案 1 :(得分:1)
您可以使用div
循环遍历每个$(...).each
元素,如:
var $div = $('#container div');
$div.each(function() {
var text = $(this).text().replace(/division/ig, 'div');
$(this).text(text);
});
答案 2 :(得分:-1)
var $div = $('#container div');
$div.each(function(index, value){
$(this).text($(this).text().replace(/division/ig, 'div'));
});
答案 3 :(得分:-1)
如上所述,您需要遍历已选择的每个元素。你可以在jquery中执行此操作:
sent