-2

我有一个 LiveScript,它使用jQuery.post()函数从服务器文件 category.php 获取数据。服务器文件返回<li><a href="#cellphones">cellphones</a></li><li><a href="#tablets">tablets</a></li><li><a href="#laptops">laptops</a></li>,但是当我使用 jQuery LiveScript 将它添加到 html 无序列表中时。我也得到了带有内容的标签。

脚本.js

$.post("category.php", function(data) {
    $('#categories ul').text(data);
});

索引.php

<div id="categories">
    <ul>

    </ul>
</div>

铬显示..

<li><a href="#cellphones">cellphones</a></li><li><a href="#tablets">tablets</a></li>   <li><a href="#laptops">laptops</a></li>

代替

  • 手机
  • 片剂
  • 笔记本电脑
  • 4

    4 回答 4

    1

    利用

    $.post("category.php", function(data) {
        $('#categories ul').html(data);
    });
    
    于 2012-11-09T06:41:19.283 回答
    1

    利用.html()

    这并不奇怪。这是预期的行为。对于您的情况,请使用.html()

    $.post("category.php", function(data) {
        $('#categories ul').html(data);
    });
    

    来自 jQuery 的解释

    .html()

    在一个 HTML 文档中,.html()可以用来获取任何元素的内容。如果选择器表达式匹配多个元素,则只有第一个匹配项才会返回其 HTML 内容。

    .text()

    .html()方法不同,.text()可以在 XML 和 HTML 文档中使用。该.text()方法的结果是一个字符串,其中包含所有匹配元素的组合文本。(由于不同浏览器中 HTML 解析器的差异,返回的文本在换行符和其他空白处可能会有所不同。)

    于 2012-11-09T06:41:38.053 回答
    1
    $.post("category.php", function(data) {
    $('#categories ul').text(data);
    });
    

    将文本更改为 html

    $.post("category.php", function(data) {
      $('#categories ul').html(data);
    });
    
    于 2012-11-09T06:42:01.467 回答
    1

    使用$('#categories ul').html(data)代替$('#categories ul').text(data)

    于 2012-11-09T06:42:46.727 回答