gpt4 book ai didi

javascript - "bbcode"脚本不工作

转载 作者:行者123 更新时间:2023-12-02 19:33:09 24 4
gpt4 key购买 nike

这是脚本的 jQuery 变体(它不起作用):

<script language="javascript">
$("div.post-content").each(function(){
if($(this).innerHTML.indexOf("[/float]") != -1) {
pattern= /\[float=(.*?)\]([^\[]*)\[\/float\]/gi
$(this).html($(this).innerHTML.replace(pattern, "<span style='float: $1;'>$2</span>"))
}
})
</script>

这是纯 Javascript 变体(它运行完美):

<script language="javascript">
posts=document.getElementsByTagName("div")
for(x in posts) if(posts[x].className=="post-content") {
post = posts[x].innerHTML;
if(post.indexOf("[/float]") != -1) {
pattern = /\[float=(.*?)\]([^\[]*)\[\/float\]/gi
posts[x].innerHTML = posts[x].innerHTML.replace(pattern, "<span style='float: $1;'>$2</span>")
}
}
</script>

此脚本的作用:

  1. 它会查找具有 post-content 类的所有 div。
  2. 它检查 bbcode 是否有结束标记。
  3. 通过使用正则表达式,它会查找给定 bbcode 标签的模式。
  4. 它用 html 元素替换 bbcode 标签。

我不知道我做错了什么......

最佳答案

使用 jQuery 时不要使用 innerHTML。赋值时是错误的(内存泄漏),读取值时也是不好的做法。使用

$(this).html()

或者,如果你真的愿意的话,

$(this)[0].innerHTML

jQuery 对象返回一个数组,它没有innerHTML 属性。但话又说回来,使用 .html() 来编写更多 jQuery 风格的代码。

关于javascript - "bbcode"脚本不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11272991/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com