使用Jquery不会更改<img/> src属性

时间:2012-06-22 12:26:44

标签: javascript jquery html css jquery-ui

大家好我已经创建了一个JqueryUI简单滑块,在某个值范围内我制作了Image URL,然后尝试更改src属性。

我试图改变四种图像。

检查jsFiddle here

我认为代码很好,但它不起作用,我不知道为什么?

6 个答案:

答案 0 :(得分:2)

替换它:

$("#" + postRetrmntImage).attr('src', ImageName );

到此:

$("#postRetrmntImage").attr('src', ImageName );

问题是您没有分配任何postRetrmntImage变量。

请参阅更新jsFiddle demo

答案 1 :(得分:2)

尝试这样做:

 $("#" + postRetrmntImage.toString()).attr('src', ImageName );

答案 2 :(得分:2)

演示 http://jsfiddle.net/8Sw5J/

说明:请使用此$("#" + sliderId).prop('src', ImageName );,因为在您的函数中,您将ID传递为sliderId.

另外,如果我建议您使用.prop好读:.prop() vs .attr()

休息演示,你可以看到它是如何工作的,

希望这有助于:)

完整代码

 $(document).ready(function () {
            makeSingleSliderWithImage('postRetrmntMnthlyPaymt', 0, 10000, 0, 500);
        }
        );
        function makeSingleSliderWithImage(sliderId, minimum, maximum, val, steps) {

            //Display label shud have a X appended
            $('#' + sliderId).slider(
                {
                    //range: 'min',
                    min: minimum,
                    max: maximum,
                    step: steps,
                    //starting values for silders
                    value: val,
                    slide: function (event, ui) {
                        //var ImageURL = "Images/";
                        //var ImageName = "";
                        //var ext = ".jpg";

                        if ((ui.value >= 0) && (ui.value <= 2000))//Basic: 0-2000
                            ImageName = "http://www.iconempire.com/icon-processor/icon40.gif";
                        else if ((ui.value >= 2500) && (ui.value <= 4500))//Moderate: 2500-4500
                            ImageName = "http://aux.iconpedia.net/uploads/14234829766434728.png";
                        else if ((ui.value >= 5000) && (ui.value <= 7000))//Comfortable: 5000-7000
                            ImageName = "http://www.iconempire.com/icon-processor/icon40.gif";
                        else if ((ui.value >= 7500) && (ui.value <= 10000))//Luxury:7500-10,000
                            ImageName = "Luxury";
                        //var fullURL = ImageURL + ImageName + ext;
                        //change Image URL
                        $("#" + sliderId).prop('src', ImageName ); //{ src: fullURL });

                        alert($("#" + sliderId).prop('src'));
                        //change Slider Value
                        $("#" + sliderId + "X").text(ui.value);
                    }
                }
            );
        }​

答案 3 :(得分:1)

更改行......

$("#" + postRetrmntImage).attr('src', ImageName );

为...

$("#postRetrmntImage").attr('src', ImageName );

答案 4 :(得分:1)

将值分配给postRetrmntImage,然后使用prop代替attr see why prop

var postRetrmntImage="postRetrmntImage";
$("#" + postRetrmntImage).prop('src', ImageName );

答案 5 :(得分:0)

试试这个

$("#postRetrmntImage").attr('src', 'newimage.png');