JavaScript изменить атрибут img src без jQuery - PullRequest
10 голосов
/ 16 марта 2012

Как изменить src атрибут HTMLImageElement в JavaScript?

Мне нужна помощь для преобразования logo.attr('src','img/rm2.png') в ванильный JavaScript.

window.onresize = window.onload = function () {
    if (window.innerWidth > 1536) {
        var logo = document.getElementById('rm');
        logo.attr('src','img/rm2.png');
    }
};

Ответы [ 6 ]

22 голосов
/ 16 марта 2012

Вы хотите сказать, что хотите использовать чистый JavaScript?

Это должно сделать это:

var logo = document.getElementById('rm');
logo.src = "img/rm2.png";

Так ваша функция должна выглядеть так:

window.onresize = window.onload = function () {
    if (window.innerWidth > 1536) {
      var logo = document.getElementById('rm');
      logo.src = "img/rm2.png";
    }
};

Примечание : Вы также можете использовать element.setAttribute . НО, смотрите этот пост больше:
Когда использовать setAttribute vs .attribute = в JavaScript?

1 голос
/ 16 марта 2012

попробуйте это ... надеюсь, что это работает

window.onresize = window.onload = function () {
    if (window.innerWidth > 1536) {
        var logo = document.getElementById('rm');
        logo.setAttribute('src','img/rm2.png');
    }
};
0 голосов
/ 22 декабря 2015

Так что, если вы хотите проверить, не изменился ли размер, а затем изменить обратно, проверьте код ниже.

window.onresize = window.onload = function () {
    if (window.innerWidth < 768) {

      var logo = document.getElementById('changeLeft');
      logo.src = "MobileImage.png";

    }else{

 var logo = document.getElementById('changeLeft');
      logo.src = "DesktopImage.png";

    }
};

Настройте window.innerWidth, чтобы выбрать точки останова. Надеюсь, это поможет.

0 голосов
/ 16 марта 2012

Поскольку вы говорите, что хотите делать это в разных местах программы, я бы создал такую ​​функцию:

function ChangeImage(image_id,path)
{
  document.images[image_id].src = path
}
0 голосов
/ 16 марта 2012
var logo = document.getElementById('rm');
logo.setAttribute('src', 'img/rm2.png');
0 голосов
/ 16 марта 2012

Я думаю, что это просто logo.src = "img/rm2.png".

...