jQuery拆分字符串并在其中添加新的HTML标记?

时间:2014-11-18 11:59:20

标签: jquery string split slice

在Frontend,我将从一个特定的数据库表中获取数据。 输出是这样的:

<p class="one">2. April 1507  in Plessis-les-Tours in Frankreich</p>

但我需要将这些字符串分成两个单独的段落

,如下所示:

<p class="one">2. April 1507</p>
<p class="two">in Plessis-les-Tours in Frankreich</p>

每次第一个 “in”在我的字符串中,而不是第二个字符时,分割字符。我正在使用jquery 1.11。 目前我不确定SPLIT命令是否正确?!如果我的文本中只有一个“in”(单词),会发生什么?

第二个例子,我的代码不起作用:

<p class="test">1. April 1647  in Plessis-les-Tours, Frankreich</p>

Here's my fiddle. 它适用于该字符串,但如果有其他内容则不适用。 我可以只在第一个单词“in”中拆分吗? 谢谢你的帮助!

3 个答案:

答案 0 :(得分:1)

尝试这种方式:

var myString = $('.one').html();
var index = myString.indexOf("in");  
var first = myString.substr(0, index); // Gets the first part
var second = myString.substr(index); //Gets second part

Demo

  

我认为现在你已经可以使用这些字符串了   想

答案 1 :(得分:0)

解决方案:

<p class="born">1. November 1507 in Tours in Frankreich</p>

和js

var myElement = $('p.born');
var myString = myElement.html();

var index = myString.indexOf("in");  
var first = myString.substr(0, index); // Gets the first part
var second = myString.substr(index); //Gets second part 

myElement.html(first);
myElement.after("<p class='bornin'>" + second + "</p>");

非常感谢! 你很棒!

答案 2 :(得分:-1)

这是您的代码,可以完美地运行。

<p class="one">2. April 1507  in Plessis-les-Tours in Frankreich</p>


$(document).ready(function(){
  var myString = $('.one');
  var ary = myString.text().split('in');
  myString.html("<span>"+ary[0]+"</span><br/><br/><span>"+ary[1]+"</span>");    
 });

我已经更新了你的js小提琴,通过那个

http://jsfiddle.net/xb7Lcm9z/3/