当我尝试获取值时,文本转换不起作用

时间:2017-10-30 19:30:15

标签: javascript html css

我有一个文本框,其中包含" text-transform:capitalize;"它工作正常,但当我试图获得它的价值时,它没有被改变。例如,我写了" test"它显示"测试"在文本框中,但当我做" console.log(" document.getElementById(" search")。value")"它显示" test"。
我该如何解决这个问题?

这是我的代码:

HTML:

<input type="text" id="search"/>
<button type="submit" onclick="query()">Submit</button>
<div class="query-div"><p class="query-p">Test-a</p></div>
<div class="query-div"><p class="query-p">Test-b</p></div>
<div class="query-div"><p class="query-p">Test-ba</p></div>

使用Javascript:

function query() {
var x = document.querySelectorAll(".query-p");
var y = document.getElementById("search");
var i;
        for(i = 0; i < x.length; i++) {
        if(x[i].innerHTML.includes(y.value)) {x[i].style.display = 'block';} else {x[i].style.display = 'none';}
             console.log(x[i].innerHTML);
    }
}

1 个答案:

答案 0 :(得分:1)

您可以在第一个字符上使用string.toUpperCase()。

&#13;
&#13;
function query() {
  var x = document.querySelectorAll(".query-p");
  var y = document.getElementById("search");
  var i;
  for(i = 0; i < x.length; i++) {
    if(x[i].innerHTML.includes(y.value)) {
      x[i].style.display = 'block';
    } else {
      x[i].style.display = 'none';
    }
    var text = x[i].innerHTML
    console.log(text[0].toUpperCase() + text.slice(1));
  }
}
&#13;
<input type="text" id="search"/>
<button type="submit" onclick="query()">Submit</button>
<div class="query-div"><p class="query-p">Test-a</p></div>
<div class="query-div"><p class="query-p">Test-b</p></div>
<div class="query-div"><p class="query-p">Test-ba</p></div>
&#13;
&#13;
&#13;