从第三方脚本修改innerHTML

时间:2013-02-11 04:48:00

标签: javascript jquery innerhtml

我有一个导入菜单的第三方脚本,我无法编辑此第三方脚本。它生成如下代码:

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

它应该花费19 hours ago并将其显示为跨度内的文本,但无论出于何种原因它都不起作用,并且脚本的制作者在修复错误方面没什么帮助。

有没有办法,使用jQuery,一旦页面加载,我可以取innerhtml并将其作为文本在该跨度中吐出来?

6 个答案:

答案 0 :(得分:6)

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

您可以使用jQuery的text函数更新范围

中的文本

答案 1 :(得分:6)

使用$.attr()$.text()来实现此目标

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

答案 2 :(得分:4)

你可以尝试这个:fiddle

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

或更简单:

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

答案 3 :(得分:4)

试试这个:

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

答案 4 :(得分:4)

很多人都把它关闭了:)

这将为你做到:

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

jsFiddle here

这在功能上是等价的:

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

答案 5 :(得分:-1)

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