Заменить значение стиля в javascript

Я хочу изменить значение в теге с помощью js.

<div class = "class1" style = "background-image:url(https://www.awebsite.com/sites/default/files/a_image.jpg?t=1529620960)"></div>

Я хочу это изменить:

https://www.awebsite.com/sites/default/files/a_image.jpg?t=1529620960`

к этому:

https://hello.com/an-other-image.jpg

Спасибо !

Ваш вопрос кажется непонятным. На какое действие вы хотите заменить? Это при нажатии кнопки или что-то в этом роде?

Vinit Desai 21.09.2018 18:22

и ваша попытка ...

Lelio Faieta 21.09.2018 18:22

Возможный дубликат как изменить фоновое изображение div с помощью javascript?

Joseph Webber 21.09.2018 18:26

document.getElementById (id) .style.property = новый стиль

F.bernal 21.09.2018 18:26

Похоже, вы хотите, чтобы мы написали для вас код. Хотя многие пользователи готовы написать код для кодировщика, терпящего бедствие, они обычно помогают только тогда, когда автор уже попытался решить проблему самостоятельно. Хороший способ продемонстрировать эти усилия - включить код, который вы написали до сих пор, пример ввода (если есть), ожидаемый вывод и вывод, который вы действительно получаете (вывод консоли, трассировки и т. д.). Чем больше подробностей вы предоставите, тем больше ответов вы, вероятно, получите. Проверьте часто задаваемые вопросы и Как спросить.

Austen Holland 21.09.2018 18:29

Во-первых, извините за мой плохой английский, трудно полностью объяснить, чем я хочу заниматься. Я тестировал некоторые коды, пытался их редактировать, но я очень плохо разбираюсь в JS, это было только для пользовательского скрипта. Спасибо за ответы и извините за непонятность

Starrrry 21.09.2018 20:14
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
6
896
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Вы можете сделать что-то вроде:

c = document.getElementsByClassName('class1');
for(i = 0; i < c.length; i++){
    c[i].style.backgroundImage = 'url(https://hello.com/an-other-image.jpg)';
}

Я согласен с этим решением. Я просто протестировал его, и он у меня сработал.

Sarah 21.09.2018 18:40

Это работает, но отсутствуют var или let для объявлений переменных. forEach также широко поддерживается и устраняет утомительность индексной переменной. На самом деле el.style.backgroundImage в любом случае является основной частью, но, к сожалению, это может быть полезно :)

Ken Colton 21.09.2018 18:44
Ответ принят как подходящий

Вы можете использовать document.querySelector, чтобы получить ссылку на элемент <div>, а затем обновить его атрибуты стиля.

// querySelector can use CSS selectors to find the element in the document
// note: this is assuming there is only 1 element on page with this class
var myDiv = document.querySelector('.class1');
// Style properties generally match CSS but camel cased
myDiv.style.backgroundImage = 'url("https://hello.com/an-other-image.jpg")';

Вы можете рассмотреть возможность добавления id, и в этом случае вы можете использовать селектор ID или document.getElementById.

Если есть несколько элементов, которые вы хотите обновить, вы можете использовать document.querySelectorAll, который вернет массив совпадений, который вы можете перебрать и изменить.

function changeToAnotherBgImage(element) {
    element.style.backgroundImage = 'url("https://hello.com/an-other-image.jpg")';
}
// Plenty of alternate ways of writing, arrow function may be appropriate
document.querySelectorAll('.class1').forEach(changeToAnotherBgImage);

Что, если класс применяется к нескольким элементам? Не то чтобы ОП думал об этом.

evolutionxbox 21.09.2018 18:32

@evolutionxbox Добавил примечание по поводу querySelectorAll - хороший отклик :)

Ken Colton 21.09.2018 18:35

Это работает хорошо ! Спасибо, что нашли время помочь мне, я действительно кое-что узнал. Я думаю, что буду брать уроки JS, я не думал, что мы сможем делать такие вещи (querySelector и .style.backgroundImage)

Starrrry 21.09.2018 20:25

Вы можете сделать это:

const eleDiv = document.querySelector ('. class'). style.background = "url ('your imge') no-repeat";

Другие вопросы по теме