Javascript 文本转换不';当我试图获得价值时,我无法工作
我有一个带有“text transform:capitalize”的文本框,它工作得很好,但当我试图获取它的值时,它没有被转换。例如,我在“test”中写入,它在文本框中显示“test”,但在执行“console.log(“document.getElementById(“search”).value”)时,它显示“test”。Javascript 文本转换不';当我试图获得价值时,我无法工作,javascript,html,css,Javascript,Html,Css,我有一个带有“text transform:capitalize”的文本框,它工作得很好,但当我试图获取它的值时,它没有被转换。例如,我在“test”中写入,它在文本框中显示“test”,但在执行“console.log(“document.getElementById(“search”).value”)时,它显示“test”。 我怎样才能解决这个问题 这是我的密码: HTML: 提交 测试a 测试b 测试ba Javascript: function query() { var x = d
我怎样才能解决这个问题 这是我的密码: HTML:
提交
测试a
测试b
测试ba
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);
}
}
函数查询(){
var x=document.querySelectorAll(“.query-p”);
var y=document.getElementById(“搜索”);
var i;
对于(i=0;i
您可以在第一个字符上使用string.toUpperCase()
函数查询(){
var x=document.querySelectorAll(“.query-p”);
var y=document.getElementById(“搜索”);
var i;
对于(i=0;i
提交
测试a
测试b
测试ba
CSS只影响值的显示方式;它们的真实值,即使用JavaScript检索的值,不受影响。这是预期的行为。请尝试toUpperCase()
?这帮助了我,谢谢。toUpperCase()
的输出与文本转换:大写不一样。我只需要大写每个单词的第一个字母。抱歉,已修复;text[0].toUpperCase()+text.slice(1)处理单词大小写的另一种更快捷的方法是使用类似这样的正则表达式:str.replace(/^\w |\s\w/g,t=>t.toUpperCase())
。这也将处理多个单词的输入,而不仅仅是一个单词。因此在本例中,var text=x[i].innerHTML.replace(/^\w |\s\w/g,t=>t.toUpperCase())
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);
}
}