相关疑难解决方法(0)

.prop()vs .attr()

所以jQuery 1.6具有新功能prop().

$(selector).click(function(){
    //instead of:
    this.getAttribute('style');
    //do i use:
    $(this).prop('style');
    //or:
    $(this).attr('style');
})
Run Code Online (Sandbox Code Playgroud)

或者在这种情况下,他们做同样的事情?

如果我有转用prop(),所有的旧attr()电话,如果我切换到1.6将打破?

UPDATE

selector = '#id'

$(selector).click(function() {
    //instead of:
    var getAtt = this.getAttribute('style');
    //do i use:
    var thisProp = $(this).prop('style');
    //or:
    var thisAttr = $(this).attr('style');

    console.log(getAtt, thisProp, thisAttr);
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script>
<div id='id' style="color: red;background: orange;">test</div>
Run Code Online (Sandbox Code Playgroud)

(另见这个小提琴:http://jsfiddle.net/maniator/JpUF2/)

控制台会记录getAttribute作为一个字符串,并attr作为一个字符串,但prop作为一个CSSStyleDeclaration,为什么?这对我未来的编码有何影响?

javascript jquery dom prop attr

2249
推荐指数
14
解决办法
57万
查看次数

73
推荐指数
2
解决办法
2万
查看次数

何时取消选中单选按钮进行监控

我有一个应用程序,当选择某个单选按钮时显示一个div,然后在取消选择单选按钮时隐藏该div.问题是附加到单选按钮的更改事件仅在选中单选按钮时被调用,而不是在选中另一个单元时被调用(取消选中前一个).我目前的代码如下:

<form name="newreport" action="#buildurl('report.filters')#" method="post">
    <dl class="oneColumn">
        <dt class="first"><label for="txt_name">Name</label></dt>
        <dd><input type="text" name="name" id="txt_name" class="text" /></dd>
        <dt><strong>Type</strong></dt>
        <dt><input type="radio" name="type" id="rdo_list" value="list" checked="checked" /><label for="rdo_type" style="display:inline;">List</label></dt>
        <dd>List a group of records</dd>
        <dt><input type="radio" name="type" id="rdo_fields" value="fields" /><label for="rdo_fields" style="display:inline;">Field Breakdown</label></dt>
        <dd>Breaks down distinct field values for comparison</dd>
        <dt><input type="radio" name="type" id="rdo_history" value="history" /><label for="rdo_history" style="display:inline;">Historical Comparison</label></dt>
        <dd>Provides record changes over a group of years for growth comparisons</dd>
        <dt><input type="radio" name="type" id="rdo_breakdown" value="breakdown" /><label for="rdo_breakdown" style="display:inline;">Student Breakdown</label></dt>
        <dd>Breaks down students by …
Run Code Online (Sandbox Code Playgroud)

jquery events jquery-events

44
推荐指数
2
解决办法
6万
查看次数

为什么隐藏输入元素的.attr('value')没有从html字符串返回原始值?

基本上,当调用.attr("value")文本框时,它将返回其在标记中设置的值,而不是通过使用设置的值.val().

例如,

<input id="test" type="text" value="testing" />
Run Code Online (Sandbox Code Playgroud)

JS:

$("#test").val("hello");
console.log($("#test").val()); //hello
console.log($("#test").attr('value')); //testing
Run Code Online (Sandbox Code Playgroud)

但是在隐藏元素上做同样的事情时,结果却如下所示,

HTML:

<input id="test1" type="hidden" value="testing" />
Run Code Online (Sandbox Code Playgroud)

JS:

$("#test1").val("hello");
console.log($("#test1").val()); //hello
console.log($("#test1").attr('value')); //hello
Run Code Online (Sandbox Code Playgroud)

DEMO

如果我们通过使用设置该元素的值,则会忽略value属性.val().任何人都知道为什么会这样?包含此行为详细信息的相关链接会更有帮助.

html javascript jquery

17
推荐指数
1
解决办法
977
查看次数

从输入[type = color]更新显示颜色

嗨,

我想改变元素的value属性<input type="color">.如果我点击它,它的工作原理,但输入按钮的显示颜色不会改变.如果我从头开始手动更改颜色,它可以工作(但我必须在运行时更改它).

看看这个JSFiddle得到我的意思:http://jsfiddle.net/5u544/

谢谢和问候Mat

编辑:与下面的评论一样,问题是对象属性和属性之间区别.致@Navin为此;)

jquery html5 input colors

4
推荐指数
1
解决办法
5847
查看次数

Google 地图地理编码和 ZERO_RESULTS

我已经将不久前为另一个 Web 应用程序编写的代码用于另一个 Web 应用程序。但是,由于没有明显的原因,它没有检索结果:

\n\n
\n

由于以下原因,地理编码未成功:ZERO_RESULTS

\n
\n\n

我有以下代码,其中 \xe2\x80\x94 暗示 \xe2\x80\x94 在其他地方正常运行:

\n\n
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>\n<script type="text/javascript">\n    function googleMaps (lat, lng, zoom) {\n        geocoder = new google.maps.Geocoder();\n        var myLatlng = new google.maps.LatLng(lat, lng);\n        var myOptions = {\n            zoom: zoom,\n            center: myLatlng,\n            mapTypeId: google.maps.MapTypeId.TERRAIN\n        }\n        map = new google.maps.Map(document.getElementById("map-locations"), myOptions);\n        var marker = new google.maps.Marker({\n            position: myLatlng,\n            map: map\n        });\n        google.maps.event.addListener(map, "center_changed", function(){\n            document.getElementById("latitude").value = map.getCenter().lat();\n            document.getElementById("longitude").value = map.getCenter().lng();\n            marker.setPosition(map.getCenter());\n            document.getElementById("zoom").value = map.getZoom();\n        });\n        google.maps.event.addListener(map, "zoom_changed", function(){\n            document.getElementById("zoom").value …
Run Code Online (Sandbox Code Playgroud)

jquery google-maps

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

jquery ×6

javascript ×2

attr ×1

colors ×1

dom ×1

events ×1

google-maps ×1

html ×1

html5 ×1

input ×1

jquery-events ×1

prop ×1