Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Префик в пути картинки (https://javascript.ru/forum/dom-window/70451-prefik-v-puti-kartinki.html)

j0hnik 06.09.2017 10:03

Цитата:

Сообщение от Nexus (Сообщение 463818)
ksa, а что будет, если у изображения будет не относительный, а абсолютный путь изначально?
Печальный код, если честно.

<img src="/files/one.jpg">
<img src="/files/two.jpg">
<img src="/files/three.jpg">
<script type='text/javascript'>
[].forEach.call(document.querySelectorAll('img:not([src^="http://mysite"]'), function(el){
    el.src = 'http://mysite'+el.getAttribute('src');
    alert(el.src);
});
</script>


дополнить на всякий случай

ksa 06.09.2017 10:30

Цитата:

Сообщение от Nexus
а что будет, если у изображения будет не относительный, а абсолютный путь изначально?

Тогда к тому пути добавится твое "начало"...

Вот кагбэ универсальный вариант...

<img src="/files/one.jpg">
<img src="/files/two.jpg">
<img src="/files/three.jpg">
<img src="http://url/files/test.jpg">
<script type='text/javascript'>
[].forEach.call(document.querySelectorAll('img'), function(el){
	var val=el.getAttribute('src');
	if (/^\//.test(val)) {
		el.src = 'http://mysite'+val;
		alert(el.src);
	}
});
</script>

espltd 06.09.2017 10:46

Ksa, подскажите пожалуйста, как мне сделать, чтобы у меня не ко всем картинкам на данной странице проставлялся префикс, а только к тем, которые находятся в конкретном div-е.

Я попытался так, но это не работает.
<script type="text/javascript">
$(document).ready(function() {

    [].forEach.call(document.querySelectorAll('img', "div#blockNews"), function(el){
        el.src = 'http://m.suzuki.saturn-r.ru'+el.getAttribute('src');
    });
        
});
</script>







Цитата:

Сообщение от ksa (Сообщение 463820)
Тогда к тому пути добавится твое "начало"...

Вот кагбэ универсальный вариант...

<img src="/files/one.jpg">
<img src="/files/two.jpg">
<img src="/files/three.jpg">
<img src="http://url/files/test.jpg">
<script type='text/javascript'>
[].forEach.call(document.querySelectorAll('img'), function(el){
	var val=el.getAttribute('src');
	if (/^\//.test(val)) {
		el.src = 'http://mysite'+val;
		alert(el.src);
	}
});
</script>


Nexus 06.09.2017 10:55

espltd,
<img src="/files/one.jpg">
<div id="blockNews">
<img src="/files/two.jpg">
<img src="/files/three.jpg">
<img src="http://url/files/test.jpg">
</div>
<script type='text/javascript'>
//© ksa
[].forEach.call(document.querySelectorAll('#blockNews img'), function(el){
	var val=el.getAttribute('src');
	if (/^\//.test(val)) {
		el.src = 'http://mysite'+val;
		alert(el.src);
	}
});
</script>

espltd 06.09.2017 11:05

Спасибо Вам всем огромное. Выручили)

ksa 06.09.2017 11:27

Цитата:

Сообщение от espltd
'img', "div#blockNews"

Это не селектор. :no:

Вот селектор
'#blockNews img'


Часовой пояс GMT +3, время: 15:54.