Javascript 按元素和类拆分html

Javascript 按元素和类拆分html,javascript,jquery,html,regex,Javascript,Jquery,Html,Regex,我有一个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 split2 = '<span class="spanClass">XYZ

我有一个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 split2 = '<span class="spanClass">XYZ</span>';
var-stringCheck='Test-Test-DataXYZ';
现在我想拆分这个字符串,这样,在一个变量中,我的值为

var split1 = 'Test<a href="http://testdomain.com?data=new" target="_blank">partial string data</a> Test Data';
var split1='测试数据';
第二个变量如下:

var stringCheck = 'Test<a href="http://testdomain.com?data=new" target="_blank">partial string data</a> Test Data<span class="spanClass">XYZ</span>';
var split2 = '<span class="spanClass">XYZ</span>';
var split2='XYZ';

我想拆分具有spanClass类的span元素。有人知道我如何使用正则表达式或其他方法来实现它吗?

要实现这一点,可以使用正则表达式按
前面的空格进行拆分,如下所示:

var stringCheck='测试数据XYZ';

var arr=stringCheck.split(/\s(?=要实现此目的,可以使用正则表达式按
前面的空格进行拆分,如下所示:

var stringCheck='测试数据XYZ';

var arr=stringCheck.split(/\s(?=对DOM和jQuery的一些操作应该可以做到这一点,这比正则表达式更可取:

var stringCheck='测试数据XYZ';
函数拆分文本(html){
var$div=$(“”).html(html),
$span=$div.find(“span”).remove();
return[$span[0].outerHTML$div[0].innerHTML];//您可能还需要添加修剪
}
console.log(splitText(stringCheck));

对DOM和jQuery的一些操作应该可以做到这一点——与正则表达式相比,更可取的做法是:

var stringCheck='测试数据XYZ';
函数拆分文本(html){
var$div=$(“”).html(html),
$span=$div.find(“span”).remove();
return[$span[0].outerHTML$div[0].innerHTML];//您可能还需要添加修剪
}
console.log(splitText(stringCheck));

您可以创建jQuery对象并提取所需的文本

var stringCheck='测试数据XYZ';
//创建jQuery对象
var div=$('').html(stringCheck);
//提取跨度
var str1=div.children('span.spanClass').prop('outerHTML');
//移除它
div.children('span.spanClass').remove();
//拿到绳子的其余部分
var str=div.html();
console.log(str);
console.log(str1);

您可以创建jQuery对象并提取所需的文本

var stringCheck='测试数据XYZ';
//创建jQuery对象
var div=$('').html(stringCheck);
//提取跨度
var str1=div.children('span.spanClass').prop('outerHTML');
//移除它
div.children('span.spanClass').remove();
//拿到绳子的其余部分
var str=div.html();
console.log(str);
console.log(str1);

使用这类东西

var字符串='测试数据XYZ';

String=String.replace(/\s(?=使用这种类型的东西

var字符串='测试数据XYZ';

String=String.replace(/\s)(?=谢谢你的回答。我如何也可以将类条件附加到正则表达式?比如spanClass的span。还有空格不是固定的。它可以是任何东西,比如字符串或任何其他html元素。在这种情况下,你需要更新你的问题,以便更清楚地说明字符串的格式以及你期望的输出。是的,我只是更新了通过删除字符串中的空格来删除字符串。感谢您的回复。我如何也可以将类条件附加到正则表达式?如spanClass的span。此外,空格不是固定的。它可以是任何内容,如字符串或任何其他html元素。在这种情况下,您需要更新您的问题,以提供关于字符串将采用何种格式的更清晰的指导,以及在您期望的输出中。是的,我只是通过删除字符串中的空格来更新字符串。使用正则表达式还是其他方法?您已经在使用.split并要求使用正则表达式进行拆分?可能是其他方法,我不确定哪种方法会起作用。我只是使用单词split来解释一点,但不是函数。您可以使用split函数而不是正则表达式,因为使用了正则表达式如果我们可以搜索字符串并替换为其他值,则不会进行拆分使用正则表达式还是其他方法更好?您已经在使用.split并要求使用正则表达式进行拆分?可能是其他方法,我不确定哪种方法会起作用。我只是用单词split来解释一下,但不是函数。您可以使用split函数代替正则表达式,因为使用正则表达式我们可以搜索字符串并替换wi对于其他值,将不会执行拆分。因此使用split()将是更好的解决方案。