$(".my-item").each(function() {
var lines = $(this).text().split("\n");
var k = "";
$.each(lines, function(n, elem) {
if (elem.trim().length > 0) {
if (elem.indexOf('my info1 & test') !== -1) {
alert("in here");
debugger;
elem.replace('959', '600');
alert(elem);
}
}
});
});
当我按行搜索并且满足条件时,我想替换DOM中的文本,但是它不起作用...
任何帮助,请...
答案 0 :(得分:2)
您可以将这些行存储在一个数组变量中(在我的示例中为result
),然后使用join()
将它们与新行结尾,最后将它们替换为DOM:
$(this).text(result.join("\n"));
$(".my-item").each(function() {
var lines = $(this).text().split("\n");
var result = [];
$.each(lines, function(n, elem) {
if (elem.trim().length > 0) {
if (elem.indexOf('my info1 & test') !== -1) {
elem = elem.replace('959', '600');
}
}
result.push(elem);
});
$(this).text(result.join("\n"));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<dd class="my-item" style="height: 44px;">
my info1 & test 959 my info2 & test 1200 my info3 & test 450 my info4 & test 908
</dd>