Javascript Can';t使用jQuery更改div的值

Javascript Can';t使用jQuery更改div的值,javascript,jquery,html,Javascript,Jquery,Html,我在jQuery中遇到了一个问题: 我写了这段代码: <!DOCTYPE html> <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script> $(document).ready(function() { $("#input").keyup(functi

我在jQuery中遇到了一个问题: 我写了这段代码:

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
    $("#input").keyup(function() {
        var input = $("#input").val();
        var input = input.replace("d", "f");
        $("#text").val(input);
    });
});
</script>
</head>
<body>
<center>
<input type="text" id="input" />
<div id="text"></div>
</center>
</body>
</html>

$(文档).ready(函数(){
$(“#输入”).keyup(函数(){
变量输入=$(“#输入”).val();
var输入=输入。替换(“d”、“f”);
$(“#文本”).val(输入);
});
});
假设这段代码检查变量“input”(从主体中的输入框接收)中是否有d,并用f替换这些d(在我尝试将一种语言的字母替换为另一种语言的字母之前,这只是一个小实验)。 但它不起作用,我也不知道为什么。 我试图替换
$(“#text”).val(输入)带有
警报(输入),它工作了,但它只将第一个“d”替换为“f”,第二个和第三个d没有被替换,而是保持为“d”。
请帮帮我。
谢谢。

对于div,您需要
html()
text()
,而不是
val()


建议:请使用正确的名称来识别
将:val()回复为html()


$(文档).ready(函数(){
$(“#输入”).keyup(函数(){
var input=$(“#input1”).val();
var输入=输入。替换(“d”、“f”);
$(“#text”).html(输入);
});
});

对于
div
您需要使用
.text()
而不是
.val()
,因为
div
没有
属性:

$(document).ready(function() {
    $("#input").keyup(function() {
        var input = $("#input").val();
        var input = input.replace("d", "f");
        $("#text").text(input);
    });
});
用于文本

$("#divname").text("new text");
用于html

$("#divname").html("<b>new html</b>")
$(“#divname”).html(“新html”)

尝试replaceAll()方法而不是replace

您有非输入标记使用
.text()
.html()
。如果您有输入类型,则只需使用
.val()

默认的.replace()行为是只替换第一个匹配项,/g修饰符(全局)告诉它替换所有匹配项。因此,您需要像下面这样编写函数

$(document).ready(function() {
  $("#input").keyup(function() {
    var input = $(this).val().replace(/d/g, "f");        
    $("#text").html(input);
  });
});

请使用以下jQuery代码:

$(document).ready(function() {
    $("#input").keyup(function() {
        var input = $("#input").val();
        var input1 = input.replace("d", "f");
        $("#text").html(input1);
    });
});

它正在工作,请参见演示:

replace
将仅第一次替换字符串。要执行全局替换,请使用以下代码。要将值分配给div,请使用
$(“#text”).html(输入)
$(“#文本”)。文本(输入)


text()
。无论如何,
val()
用于表单元素的实际值(属性)。div本身没有值。它只是有内容。因此,读取输入将起作用,但将值写入div将失败。请用demo检查我的答案。它根据您的需要工作,只是代码中的小改动
$("#text").text(input);
$(document).ready(function() {
  $("#input").keyup(function() {
    var input = $(this).val().replace(/d/g, "f");        
    $("#text").html(input);
  });
});
$(document).ready(function() {
    $("#input").keyup(function() {
        var input = $("#input").val();
        var input1 = input.replace("d", "f");
        $("#text").html(input1);
    });
});
$("#input").keyup(function () {
    var input = $("#input1").val();
    var input = input.replace(/d/g, "f");
    $("#text").html(input);
});