Заменить HTML-строку в тег img с чистым JavaScript

Это своего рода обман, я знаю, но переход из '/etc/localtime' не работает для вас? Например:

>>>  import os
>>> '/'.join(os.readlink('/etc/localtime').split('/')[-2:])
'Australia/Sydney'

Надеюсь, что это поможет.

Редактировать: мне понравилась идея @ A.H., в случае, если '/etc/localtime' не является символической ссылкой. Перевод этого в Python:

#!/usr/bin/env python

from hashlib import sha224
import os

def get_current_olsonname():
    tzfile = open('/etc/localtime')
    tzfile_digest = sha224(tzfile.read()).hexdigest()
    tzfile.close()

    for root, dirs, filenames in os.walk("/usr/share/zoneinfo/"):
        for filename in filenames:
            fullname = os.path.join(root, filename)
            f = open(fullname)
            digest = sha224(f.read()).hexdigest()
            if digest == tzfile_digest:
                return '/'.join((fullname.split('/'))[-2:])
            f.close()
        return None

if __name__ == '__main__':
    print get_current_olsonname()
0
задан NiñoBoy2001 28 February 2019 в 05:26
поделиться

2 ответа

Попробуйте это. Он перебирает все элементы div и проверяет их text, используя textContent. Если он соответствует, он заменяет текст тегом изображения, используя innerHTML

var a = document.querySelectorAll('div');
a.forEach((e) => {
  if (e.textContent == "abc")
    e.innerHTML = "<img src='example123.com'>"
 if(e.textContent == "def")
    e.innerHTML = "<img src='anotherexample.com'>"
})
[ 111]

0
ответ дан ellipsis 28 February 2019 в 05:26
поделиться

Поскольку вы используете элемент с определенным id, он уникален - все, что вам нужно сделать, это выбрать этот элемент и проверить, включает ли его innerHTML строку, которую вы ищете. Вы можете использовать регулярное выражение для замены всех экземпляров abc или def на соответствующий тег:

const example = document.querySelector('#example');
const srcs = {
  abc: 'example123',
  def: 'anotherexample'
};
example.innerHTML = example.innerHTML.replace(
  /abc|def/g,
  prop => `<img src="${srcs[prop]}">`
);
<div id="example" style="align-content: right; text-align: right">before abc after</div>

0
ответ дан CertainPerformance 28 February 2019 в 05:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: