我的jquery代码有什么问题?

时间:2011-05-04 16:50:28

标签: jquery

我有这个div:

<div class="transparency" data-title="<? echo $perf; ?>">&nbsp;</div>

这是jquery代码,它提取数据标题值并用它替换&amp; nbsp。

function performerNames(){

    var performername = $(".transparency").data('title'); 

    var divcontent = $(".transparency").innerHTML;

    if (divcontent == '&nbsp;'){

        $(".transparency").html(''+divcontent+''); 

    }

}
非常感谢!

4 个答案:

答案 0 :(得分:4)

使用html()代替innerHTML ::

var divcontent = $(".transparency").html();

并且您希望替换为数据,因此:

$(".transparency").html(''+performername+'');

而不是:

$(".transparency").html(''+divcontent+''); 

UPDATE:

整个代码:

function performerNames(){    
    var performername = $(".transparency").data('title');     
    var divcontent = $(".transparency").html();    
    if (divcontent == '&nbsp;'){    
        $(".transparency").html(''+performername+'');     
    }
}

答案 1 :(得分:1)

innerHTML不应该是&nbsp;,除非您对非brekaing空间进行双重实体编码。因此,if块的主体不会执行。

修改 正如其他人所建议的那样,这对我有用:

function performerNames()
{
    var $transparency = $( '.transparency' ),
        performername = $transparency.data( 'title' );

    if( $transparency.html() == '&nbsp;' )
    {
        $transparency.html( performername );
    }
}

答案 2 :(得分:0)

$(".transparency").innerHTML;替换为$(".transparency").html();

答案 3 :(得分:0)

您只是将html内容设置为与原样相同:

var divcontent = $(".trasparency").html();
$(".transparency").html(divcontent);

哪个应该是

$(".transparency").html(performername);