11

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

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

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

有没有一种方法,使用 jQuery,一旦页面加载,我可以innerhtml在该跨度内将其作为文本吐出?

4

6 回答 6

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

可以使用 jQuery 的text函数来更新 span 中的文本

于 2013-02-11T04:49:34.303 回答
6

使用$.attr()$.text()来实现这一点

$(document).ready(function(){
   var txt = $("#wmenu-updated span").attr("innerhtml");
   $("#wmenu-updated span").text(txt);
});
于 2013-02-11T04:53:12.017 回答
4

你可以试试这个:小提琴

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

或者像这样更简单:

$('span[innerhtml]').text($('span[innerhtml]').attr('innerhtml'));
于 2013-02-11T04:54:44.523 回答
4

试试这个:

$(document).ready( function ( e ) {
    var q = $('span').attr('innerhtml');
    $('#wmenu-updated').children('span').text( q );
});
于 2013-02-11T04:56:18.143 回答
4

很多人都在接近:)

这将为您完成:

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

jsFiddle 在这里

这在功能上是等效的:

$('selector').find('span[innerhtml]').html(function() {
    return $(this).attr('innerhtml');
});
于 2013-02-11T04:59:27.943 回答
-1
$("#wmenu span").attr("innerhtml", "Your Update here");
于 2013-02-11T04:50:19.323 回答