使用文本短代码插入JavaScript代码而不使用php

时间:2014-03-03 01:49:02

标签: javascript html

我正在使用一些javascript代码在我的博客中显示发布日期和评论编号,但我的博客不支持使用php代码。

我的JavaScript代码

if(showpostdate==true){document.write('<span class="post-date">'+daystr+'</span>')}
if(showpostcomment==true){document.write('<span class="post-comment">'+commento+'</span>')}

我调用JavaScript代码的HTML代码是

<script>showpostdate = true;var showpostcomment = true;</script>

我想更改此JavaScript代码,以便在文本框中写下此文本

[date][comment]

它可以显示html代码

<span class="post-date">'+daystr+'</span>
<span class="post-comments">'+commento+'</span>

1 个答案:

答案 0 :(得分:0)

如果你使用jQuery库,这样就可以替换短代码:

$('textarea').change(function() {
  $this = $(this);
  // to be more efficient I would employ a test here that a shortcode exists before applying the replace functions
  var textInBox = $this.val();
  textInBox = textInBox.replace('[date]', date); // where date is your date var
  $this.val(textInBox.replace('[comment]', commentsCount)); // where commentsCount is your comments var
});

它不会创建要包装每个变量的span,因为您无法将这些变量嵌套在textarea中。如果你想在textarea中输入短代码,然后将返回的变量嵌套在某个东西中以便你可以设置样式,那么你需要使用某种html + css魔法来放置透明{在textarea上{1}},并在div更新时更新div内容。然后,您可以将textarea元素放在span容器中,并根据需要设置样式。