JQuery заменяет подстроку атрибута src - PullRequest
2 голосов
/ 23 февраля 2011

Я хотел бы заменить 2 на 1 для изображения src во всех соответствующих классах. Я пробовал нечто подобное для определенных элементов, и это работает, но я не могу заставить его работать для всех соответствующих классов. Как изменить формат первого звонка, чтобы он работал? Спасибо.

$(".in1, .in2, .in3").click(
    function()
    {    
        $(".in1, .in2, .in3").attr("src").replace("2","1");// This doesn't work

        if(this.src.indexOf("1")!=-1){
            this.src = this.src.replace("1","2"); // This works
        }else{
            this.src = this.src.replace("2","1"); // This works
        }
    }
);

Ответы [ 2 ]

4 голосов
/ 23 февраля 2011

.attr("src") является геттером, а не сеттером.

если вы хотите использовать его как сеттер, вы можете сделать это,

.attr("src", function(i,src){
   return (src.indexOf("1")!=-1)?src.replace("1","2"):src.replace("2","1");
});

требует jQuery 1.4 +, .attr() ссылка

2 голосов
/ 23 февраля 2011
$(".in1, .in2, .in3").attr('href', function(index, attr) {
   return attr.replace('1', '2');
});
...