使用jquery过滤和删除

时间:2012-09-07 20:53:14

标签: jquery regex filter

我在jQuery中过滤时遇到了一些问题:

<div>content: content: {"bla":"test","IMPORTANT"}</div>

  <button>Remove</button>
<script>
    $("button").click(function () {
      $("div").remove(":contains('content: content: {\"bla\":\"test\",\"')");
    });

</script>

所以,onClick整个div都被删除了,我只想删除指定的部分,怎么办呢?

谢谢!

4 个答案:

答案 0 :(得分:2)

如果要删除div中的内容,请选择div,然后使用text()将其内容设置为空字符串。

$("div").text("");

修改

显然你想保留那里的部分文字。为此,您可以使用正则表达式捕获所需的文本。为了建立马克的答案:

$div = $("div");
str = $div.text()
str = str.replace(/.*?,"(.*)"\}$/, "$1");
$div.text(str)

这是jsfiddle

答案 1 :(得分:2)

您需要对该div的内容进行一些字符串操作。然后使用结果更新div的文本。例如:

$div = $("div:contains('content: content: {\"bla\":\"test\",\"')")
str = $div.text()
str = str.replace(/your regex goes here/, "")
$div.text(str)

答案 2 :(得分:1)

如果div的内容总是以相同的方式出现,则以下代码将提供解决方案

    $("button").click(function () {
      var string = $("div").text();
        var arr = string.split(":");
        var arr1 = arr[3].split(",");
        var string1 = (arr1[1].replace("\"","")).replace("\"}","");
    $("div").text(string1);
    });

Fiddle EDITED FIDDLE: http://jsfiddle.net/2Gcy9/1/

中查看演示

答案 3 :(得分:0)

 $("button").click(function () {

  $("div:contains('content: content: {\"bla\":\"test\",\"')").text("");

 });