我正在尝试将<li>
替换为1. 2. 3.分别。我设法将<li>
更改为数字,但该数字为0
。循环不想工作。说实话,这种方法可能是不可能的。
如果您愿意,请查看Fiddle。
这是我的function(){...}
:
function doIt(){
var input = document.getElementById("input");
var li = /<li>/; // match opening li
var liB = /<\/li>/; // match closing li
var numberOfItems = input.value.match(li).length; // number of lis that occur
for(var i = 0; i < numberOfItems; i++) {
insertNumber(i); // execute insertNumber function w/ parameter of incremented i
}
function insertNumber(number){
input.value = input.value.replace(li, number + "." + " ").replace(liB, "");
}
}
我理解insertNumber(){...}
函数不是。
答案 0 :(得分:1)
Here's an alternative method,将您的HTML textarea内容转换为jQuery可以操作和管理它们的DOM元素:
function doIt() {
var $domElements = $.parseHTML( $('#input').val().trim() ),
output = [],
i = 1;
$.each($domElements, function(index, element) {
if($(this).text().trim() != '') {
output.push( i + '. ' + $(this).text().trim() );
i++;
}
});
$('#input').val(output.join('\n'));
}