我在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都被删除了,我只想删除指定的部分,怎么办呢?
谢谢!
答案 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("");
});