0

我在我的 ajax 成功 fn 中得到响应。我的数据变量给了我 <p>hello</p>.

如何从我的数据变量中删除<p>和?</p>

我用过.remove(),但它不工作。

4

4 回答 4

1

尝试这个:

var data = '<p>hello</p>'
var text = $(data).text();
console.log(text);
于 2013-04-14T15:41:35.807 回答
0

.remove()从 DOM 中移除元素,而不是从字符串中移除。

如果要删除,<p>可以将结果作为隐藏添加到 DOM,然后删除,<p>然后才显示它。

于 2013-04-14T15:28:03.303 回答
0

你也可以试试这个例子。无需删除 P 标签。

var content = $(ajaxResponseString); //content = $("<p>Data</p>");
var html = content.html();

这种方法的优点:-

  • 它比使用正则表达式更简单。
  • 如果您的回复为<p id='paraId'> data </p>. 它仍然会运行。
  • 以这种情况为例<p > data </p>,这种方法将运行良好,而正则表达式可能/可能不取决于您的正则表达式的清洁程度。
  • 如果您的响应明天发生变化,并且您还期望任何其他 HTML 标记,那么您需要更新您的正则表达式,这可能会非常复杂。
于 2013-04-14T15:32:03.283 回答
0

试试这个:- http://jsfiddle.net/adiioo7/b5bG8/

JS:-

var html = "<p>Some HTML</p>";
var div = document.createElement("div");
div.innerHTML = html;
var text = div.textContent || div.innerText || "";
alert(text);
于 2013-04-14T16:43:32.607 回答