将文本从大写转换为混合以在div内部大写

时间:2017-03-27 20:12:27

标签: javascript jquery html wordpress

在WordPress页面中,在div中,我想将文本从大写转换为混合大写。数据由用户使用小写,大写和混合的表单收集。

CSS不是解决方案,因为2017年CSS无法将大写转换为大写。

我是JS和jQuery的初学者,请耐心等待。

我的脚本&我的div:



<script>
jQuery.fn.capitalise = function() {
    return this.each(function() {
        var $this = $(this),
            text = $this.text(),
            split = text.split(" "),
            res = [],
            i,
            len,
            component;
        for (i = 0, len = split.length; i < len; i++) {
            component = split[i];
            res.push(component.substring(0, 1).toUpperCase());
            res.push(component.substring(1).toLowerCase());
            res.push(" "); // put space back in
        }
        $this.text(res.join(""));
    });
};


$(".domecap").capitalise();
</script>
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<div class="domecap">ADDRESS: STR. mihai BRAVU, nUmBER 196</div>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:1)

尝试按以下顺序排列html文件,并将$(".domecap").capitalise();行放在$(document).ready()函数中:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

<script>
  jQuery.fn.capitalise = function() {
      return this.each(function() {
          var $this = $(this),
              text = $this.text(),
              split = text.split(" "),
              res = [],
              i,
              len,
              component;
          for (i = 0, len = split.length; i < len; i++) {
              component = split[i];
              res.push(component.substring(0, 1).toUpperCase());
              res.push(component.substring(1).toLowerCase());
              res.push(" "); // put space back in
          }
          $this.text(res.join(""));
      });
  };


  $(document).ready(function() {
    $(".domecap").capitalise();
  });
</script>

<div class="domecap">ADDRESS: STR. mihai BRAVU, nUmBER 196</div>

答案 1 :(得分:0)

尝试使用这个简单的jQuery语句:

assertThat(actual).containsExactlyInAnyOrder(
    "Something-6144-77.pdf"
,   "d-6144-77.pdf"
,   "something-6144-78.pdf"
,   "Something-6144-8068.pdf"
);

这将获取div中的文本,将其转换为大写,然后应用到指定的div。

答案 2 :(得分:0)

您不需要使用jquery来执行此操作。为什么不用CSS和javascript呢?像这样:

var str = document.getElementById('domecap');
var res = str.textContent.toLowerCase();
str.innerHTML = res;
#domecap {
  text-transform: capitalize
}
<div class="domecap" id="domecap">ADDRESS: STR. mihai BRAVU, nUmBER 196</div>