Подтвердить что ты не робот

Изменение innerHTML от стороннего участника Script

У меня есть сторонний script, который импортирует меню, и я не могу редактировать эту стороннюю сторону script. Он генерирует код следующим образом:

<div id="wmenu-updated" style="display: block;">
  <small>Menu updated</small>
  <span innerhtml="19 hours ago"></span>
</div>

Он должен принимать 19 hours ago и отображать это как текст внутри диапазона, но по какой-либо причине он не работает, а создатели script мало помогают в исправлении ошибки.

Есть ли способ, используя jQuery, что после загрузки страницы я могу взять innerhtml и выплюнуть его как текст внутри этого диапазона?

4b9b3361

Ответ 1

$( document ).ready( function () {
    $( '#wmenu-updated span' ).text( function () {
        return $( this ).attr( 'innerhtml' );
    });
});

Вы можете использовать функцию jQuery text для обновления текста в диапазоне

Ответ 2

Используйте $. attr() и $. text(), чтобы достичь этого.

$(document).ready(function(){
   var txt = $("#wmenu-updated span").attr("innerhtml");
   $("#wmenu-updated span").text(txt);
});

Ответ 3

Вы можете попробовать следующее: fiddle

 $(function(){
    $(document).children('#wmenu-updated').find('span[innerhtml]')
    .text($(this).attr("innerhtml"));
 });

или более просто:

$('span[innerhtml]').text($('span[innerhtml]').attr('innerhtml'));

Ответ 4

Попробуйте следующее:

$(document).ready( function ( e ) {
    var q = $('span').attr('innerhtml');
    $('#wmenu-updated').children('span').text( q );
});

Ответ 5

Многие люди приближаются к нему:)

Это сделает это за вас:

$('selector').find('span[innerhtml]').each(function() {
    $(this).html($(this).attr('innerhtml'));
});

jsFiddle здесь.

И это функционально эквивалентно:

$('selector').find('span[innerhtml]').html(function() {
    return $(this).attr('innerhtml');
});

Ответ 6

$("#wmenu span").attr("innerhtml", "Your Update here");