我需要从标题中删除前 3 个字符。我用了:
$(".layered_subtitle").each(function() {
var text = $(this).text();
text = text.replace('06.', '');
$(this).text(text);
我动态加载了带有编号的标题:
01.标题
02.标题
03.标题..
如何分隔要删除的字符?
我需要从标题中删除前 3 个字符。我用了:
$(".layered_subtitle").each(function() {
var text = $(this).text();
text = text.replace('06.', '');
$(this).text(text);
我动态加载了带有编号的标题:
01.标题
02.标题
03.标题..
如何分隔要删除的字符?
您可以使用它(与 //slice
相关的 JavaScript 函数中最短的,如果仅使用带正整数的第一个参数,它们实际上是相同的):substring
substr
text = text.slice(3);
到目前为止的答案都很好,但我认为你应该以不同的方式做以备将来使用。也许您的计数会增加,所以只需搜索“。”的第一次出现。然后在那里剪断绳子。
text = text.substring(text.indexOf(".")+1);
像这样试试
text = text.substr(3);
alert(text);
$(this).text(text);
您可以使用这样的子字符串方法:
$(".layered_subtitle").each(function() {
var text = $(this).text();
if(text && text.length > 3){
text = text.substring(3)
$(this).text(text);
}
});
如果您需要在 ajax 请求成功时执行此操作:
function removeChars(){
$(".layered_subtitle").each(function() {
var text = $(this).text();
if(text && text.length > 3){
text = text.substring(3)
$(this).text(text);
}
});
}
var serializedData = {};//Fill data
$.ajax({
url: "url",
type: "post",//post or get
data: serializedData,
// callback handler that will be called on success
success: function (){
//Add here logic where you update DOM
//(in your case add divs with layered_subtitle class)
//Now there is new data on page where we need to remove chars
removeChars();
}
});
如果标题至少包含三个字符,您可以删除前三个字符:
if (text.length >= 3) text = test.substring(3);
您可以使用正则表达式仅删除匹配格式“nn.xxxx”的数字:
text = text.replace(/^\d\d\./, '');
只需使用javascript 子字符串:
text = text.substring(3);
尝试这个
text = text.substring(3)
代替
text = text.replace('06.', '');
如果您不知道分隔符(点)的确切位置,则必须找到它:
var newText = oldText.substr(oldText.indexOf('.') + 1);
或者,如果您可以在分隔符后找到许多数字或空格字符,则需要使用正则表达式:
var newText = oldText.replace(/^\d+\.\s*/, "");
两者都会起作用。