JQuery的html()返回值带标签的情况

来源:互联网 发布:太极软件 怎么样 编辑:程序博客网 时间:2024/05/21 09:28

html()函数在返回带HTML标签的内容时,它会自动规范HTML标签内容。例如:

<head>

<script type="text/javascript">

function check()
{
    var info =$("#loading").html();alert (info);
    if (info=='<a href="http://www.baidu.com">hello陈</a>'){  //注意这里带有</a>而原<td></td>中没有
        alert ("ok!");
    }else {
        alert("error!");
    }
    return;
}
</script>
</head>

<body>

<input type="button" id="btn" value="检测" onclick="check()">

<div class="tbl_tr_item"><table class="tbl">
<tr><td id="loading"><a href="http://www.baidu.com">hello陈</td></tr>
</table></div>

</body>

如果将<td>中的内容替换为<img src='/misc/images/loading.gif'/>检测中...,info的值中单引号变为双引号且没有标签结尾的/,即为<img src='/misc/images/loading.gif'>检测中...。

另:html()严格返回元素的HTML内容,即使是空格(或&nbsp;返回值也是&nbsp;)。如果内容为空,在对返回值做判断时可以用==(!=)""或==false(不能用!=,因为除了空其它的情况恒不等于false)。只有在返回一个不存在元素的HTML内容时为null。

综上,html()的返回值:若存在此元素但内容为空返回"",若不存在此元素返回null。

 

其它JQuery函数的返回值情况:

val():为空时返回"";//特殊情况:<select>内无<option>时,val()返回值为null;<input>单选框、复选框未设value时返回on;

          如果值里含有&字符(例如&nbsp;等字符实体),val()返回值将从&处截断,即只返回&之前的内容。

serialize():可解决val()遇&截断的问题,而且对于windows系统下的换行符"/r/n"也将被替换为UNIX系统下的换行符"/n"。

原创粉丝点击