Javascript Can';t使用jQuery更改div的值
我在jQuery中遇到了一个问题: 我写了这段代码: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
<!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);
});