基本Javascript只在Firefox上工作
我编写了一些非常基本的javascript来根据用户在下拉菜单中的选择显示div。出于某种原因,这只适用于firefox,而不适用于chrome、safari或ie等。有人能告诉我正确的方向吗 您可以在这里看到JSFIDLE上的整个解决方案 非常感谢。基本Javascript只在Firefox上工作,javascript,jquery,Javascript,Jquery,我编写了一些非常基本的javascript来根据用户在下拉菜单中的选择显示div。出于某种原因,这只适用于firefox,而不适用于chrome、safari或ie等。有人能告诉我正确的方向吗 您可以在这里看到JSFIDLE上的整个解决方案 非常感谢。$(this).attr(“value”)通常是错误的,因为value属性并不反映输入的值(奇怪但真实)。如果需要当前值,则需要this.value或$(this.val()(或$(this.prop)(“value”)) value属性反映标记
$(this).attr(“value”)
通常是错误的,因为value
属性并不反映输入的值(奇怪但真实)。如果需要当前值,则需要this.value
或$(this.val()
(或$(this.prop)(“value”)
)
value
属性反映标记中设置的value
,它是输入的默认值,而不是当前值。输入的值
属性反映其实际值。(还有defaultValue
属性,它直接链接到value
属性,而不是输入的当前值
)
以下是value
属性、value
属性和defaultValue
属性如何工作的示例:
$(“输入[type=button]”)。在(“单击”,函数(){
var$input=$(“input[type=text]”);
显示(“$input.val()=”+$input.val()+”);
显示(“$input.prop('value')=”+$input.prop('value')+”)”;
显示(“$input.attr('value')=”+$input.attr('value')+”)”;
显示(“$input.prop('defaultValue')=”+$input.prop('defaultValue')+”)”;
});
功能显示(msg){
$(“”).html(msg.appendTo(document.body);
}
在输入中键入内容,然后单击按钮
如果其他新手遇到这个问题,我已经找到了解决方案
我需要使用
jQuery(function ($) {
不是
代码中没有问题可以完美地工作,只是在JSFIDLE中添加了jquery,在Chrome中会发生什么?控制台中有错误吗?其他一些意外行为?此外,OP有一个下拉列表(单选),因此不需要在.each()循环中使用$(“select option:selected”)。只需$(this).val(),其中this
是select元素。这不是通用解决方案。jQuery结果在$
和jQuery
变量中的“正常”包含是同一函数的别名。问题中显示的代码在所有浏览器中都是独立工作的(链接的fiddle对我来说很好),所以如果这个答案解决了问题,那是因为问题中没有提到其他细节。
jQuery(function ($) {
$(document).ready(function(){