【问题标题】:Add string after last text in jquery在jQuery中的最后一个文本之后添加字符串
【发布时间】:2015-06-16 10:31:42
【问题描述】:

我正在尝试使用jquery-1.10.2 构建一个网站,我想用注释字符串<!-- --> 替换与css 相关的字符串,如<style><link> 等。到目前为止,我已经设法将它们替换为<!-- 但我找不到通过正则表达式添加--> 的方法,因为我对正则表达式不熟悉。这是我的代码,

$(document).ready(function () {
$('#btnUpdate').click(function () {
    $('#divText').val($('#divText').val().replace(/<\/?style.*?>|<\/?link.*?>/, "<!--"));
});

});

JSFiddle Demo

如何在最后一个字符串后添加--&gt;?非常需要这个帮助。谢谢。

【问题讨论】:

  • 你的预期输出是什么?

标签: javascript jquery html regex


【解决方案1】:

使用捕获组。

$('#divText').val($('#divText').val().replace(/(<\/?(?:style|link).*?>)/, "<!-- $1 -->"));

$('#divText').val($('#divText').val().replace(/(<\/?(?:style|link)[^>]*>)/, "<!-- $1 -->"));

DEMO

【讨论】:

  • 如果使用非 HTML 5,您可能需要添加可选的结尾空格或 /。
【解决方案2】:

不喜欢使用正则表达式修改html内容,所以

$(document).ready(function() {
  $('#btnUpdate').click(function() {
    var $tmp = $('<div />', {
      html: $('#divText').val()
    });

    $tmp.find('link, style').replaceWith(function() {
      return document.createComment(this.outerHTML);
    });

    $('#divText').val($tmp.html());
  });
});

$(document).ready(function() {
  $('#btnUpdate').click(function() {
    var $tmp = $('<div />', {
      html: $('#divText').val()
    });

    $tmp.find('link, style').replaceWith(function() {
      return document.createComment(this.outerHTML);
    });

    $('#divText').val($tmp.html());
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<textarea id="divText" style="width: 400px; height: 300px;">
  something

  <link href="//abc.comd/ss.css" rel="stylesheet"/>

  <style>
    div: {color: red;}
  </style>

  <div>adf</div>
</textarea>
<br>
<button id="btnUpdate">Update</button>

【讨论】:

  • 我认为目标实际上是删除标签,但显然情况并非如此。我不知道 createComment,所以很好。 +1
【解决方案3】:

您为什么不尝试使用removeAttr 删除这些属性?

$(document).ready(function () {
$('#btnUpdate').click(function () {
    $('#divText').val($('#divText').removeAttr("style");
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-21
    • 1970-01-01
    • 2020-03-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多