我有一个 HTML 块存储在一个名为 的变量中address_form,在我想要删除或替换它的一部分的那个 HTML 块中。我要替换的部分是一个 ID 为address_container.
我的 RegEx 显然有问题,我正在使用 replace 函数,因为它不起作用:
var tempStr = address_form.replace('/\<div id=\"#address_container\"\>.*<\/div\>/', '');
我只是想在一个字符串中替换一个字符串。
我有一个 HTML 块存储在一个名为 的变量中address_form,在我想要删除或替换它的一部分的那个 HTML 块中。我要替换的部分是一个 ID 为address_container.
我的 RegEx 显然有问题,我正在使用 replace 函数,因为它不起作用:
var tempStr = address_form.replace('/\<div id=\"#address_container\"\>.*<\/div\>/', '');
我只是想在一个字符串中替换一个字符串。
既然你已经用 jQuery 标记了你的问题,那么我建议你使用 jQuery 来完成这项任务。就像是:
var tempStr = jQuery(address_from).remove('#address_container').html();
你的正则表达式是错误的。改用这个:
address_form.replace(/<div id=["-]#address_container["-]>.*<\/div>/,'');
不要那样做,只需获取 div 的内容并将该 div 的父级替换为内容即可。
所以
var tempStr = $('#address_container').html(); // or text()
$('#parent_of_address_container').html(tempStr);
来自@RidgeRunner
使用单个 JavaScript 正则表达式正确匹配 DIV 元素(其本身可能包含其他 DIV 元素)是不可能的。这是因为 js 正则表达式引擎不支持匹配嵌套结构。