我希望更改使用Input标签制作的按钮的文本
当这句话
$clearbutton.prop('value', "New Text For The Button");
在里面
$(document).ready( function{ } );
它做得很好。
但是,如果我将相同的语句放在ready()外部定义的函数中的ready()外部
它不执行
sendtext5 = "Bwahahaha";
sendtext4 = "Send Text 4";
$eraser.prop('value', sendtext5); // NOT WORKING
$clearbutton.prop('value', sendtext5); // NOT WORKING
$screen2top.text(sendtext4); // Works
$oneword.text(sendtext4); // Works
alert("BEFORE CLEARBUTTON"); // Works
HTML5是
<input type="button" data-role="button" id="clearbutton" class="eraser" value="Remo">
我也尝试了以下
$(".eraser").prop('value', sendtext5);
$("#clearbuton").prop('value', sendtext5);
但是,当上述两个语句中的任何一个放置在$ document.ready()中时,它们中的任何一个都可以正常工作。
我还意识到sendtext5变量确实显示了正确的值。我使用了alert(sendtext5); 去检查
当您加载网页时,通常会在HTML仍在加载的情况下执行javascript。如果浏览器在加载HTML元素之前为HTML元素执行jQuery选择器,则jQuery找不到任何内容。例如,<div id="wrapper">...</div>
可以使用进行引用$("#wrapper")
,但是如果引用在<div>
加载之前运行,则找不到任何内容。
jQuery的解决方案是:
$(document).ready(function() {
//things to do when document has fully loaded
})
在您的情况下,某些选择器的运行非常幸运,因为它们引用的元素恰好在此行运行时已加载。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句