我已经尝试了许多不同的方法,但没有任何工作。现在我有:
$(document).ready(function () {
$(".page").click(function () {
var html = $(document).html();
html.replace("[", "<");
alert("here");
});
});
这拒绝工作。它也不允许我做任何Jquery exmaples例如
的事情 $("[").replaceWith("<");
在我看来,.replace甚至不在jQuery中,尽管很多例子似乎都将它作为查询的一部分。有什么建议?这开始让我感到沮丧。我试过传递一个特定的div,它仍然拒绝工作。有任何想法吗?任何帮助将不胜感激!
答案 0 :(得分:5)
这是你想要的吗?
$(document.documentElement).html(function(i,val){
return val.replace(/\[/g,'<');
});
document本身不是DOM Element
,您应该使用document.documentElement代替。
答案 1 :(得分:0)
在我看来,你是从html创建变量而不是将其发送回页面:
$(document).ready(function () {
//EDIT:
// $(".page").click(function () { changed to a bind type event handler to
// prevent loss of interactivity. .on() requires jQuery 1.7+ I believe.
$(".page").on('click', function () {
var htmlString = $('body').html();
// To replace ALL occurrences you probably want to use a regular expression
// htmlString.replace(/\[/g, "<");
htmlString.replace("[", "<");
//Validate the string is being manipulated
alert(htmlString);
// Overwrite the original html
$('body').html(htmlString);
});
});
请记住我没有测试过这个,但如果我没弄错,jQuery中的.html()方法用于获取/设置不一定要直接操作。
答案 2 :(得分:0)
第html.replace("[", "<");
行没有做任何事情
html
是一个字符串,所以你要替换字符串而不对输出做任何事情。
var foo = html.replace(/\[/g, "<");
$(document).html(foo);