[英]Split html by element and class
我有一个如下的Javascript HTML字符串,
var stringCheck = 'Test<a href="http://testdomain.com?data=new" target="_blank">partial string data</a> Test Data<span class="spanClass">XYZ</span>';
现在想分割此字符串,使得在一个变量中我确实具有
var split1 = 'Test<a href="http://testdomain.com?data=new" target="_blank">partial string data</a> Test Data';
第二个变量如下
var split2 = '<span class="spanClass">XYZ</span>';
我想拆分具有spanClass类的span元素。 有谁知道我如何使用RegEx或其他方式制作它?
应该对DOM和jQuery进行一些操作-比RegEx更受青睐:
var stringCheck = 'Test<a href="http://testdomain.com?data=new" target="_blank">partial string data</a> Test Data <span class="spanClass">XYZ</span>'; function splitText(html) { var $div = $("<div/>").html(html), $span = $div.find("span").remove(); return [$span[0].outerHTML,$div[0].innerHTML]; // you may want to add a trim too } console.log(splitText(stringCheck));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
您可以创建一个jQuery对象并提取所需的文本。
var stringCheck = 'Test<a href="http://testdomain.com?data=new" target="_blank">partial string data</a> Test Data <span class="spanClass">XYZ</span>'; //Create a jQuery object var div = $('<div>').html(stringCheck); //Extract span var str1 = div.children('span.spanClass').prop('outerHTML'); //Remove it div.children('span.spanClass').remove(); //Get rest of string var str = div.html(); console.log(str); console.log(str1);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
为此,您可以使用正则表达式按<span>
之前的空格进行拆分,如下所示:
var stringCheck = 'Test<a href="http://testdomain.com?data=new" target="_blank">partial string data</a> Test Data <span class="spanClass">XYZ</span>'; var arr = stringCheck.split(/\\s(?=<span)/i); console.log(arr);
使用这种东西
var String = 'Test<a href="http://testdomain.com?data=new" target="_blank">partial string data</a> Test Data <span class="spanClass">XYZ</span>'; String = String.replace(/\\s(?=<span class="spanClass")/ig, "|||"); var arr = String.split("|||"); console.log(arr);
**这将拆分为所有具有spanClass
类的spanClass
**
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.