jquery $.text() 换行

jquery $.text() 换行,第1张

jquery的 text()仅能读取出xml中不含标签的文字部分。

而 html() 办法也绝对读不出xml中的标签。

现在给你两种解决办法:

办法一,不用ajax,而用jquery的load()办法。前提是你知道load()怎么用。

将你需要读取的的xml代码块外面套一层html标签,比如div什么的,再给他加个ID,比如:

<info>

<div id="xxx">

小牛情侣纸巾套,很可爱的一对小情侣哦!<br />

赶快领回家吧!<br />

超软的面料,超可爱的造型,冷冷的冬天抱在手上也是<br />

很享受的事情哦!</div></info>

这样,用

$("选择器").load("xml文件的url #xxx")

就可以读出。

这办法有2种缺点。

一,这办法不是ajax,虽然有点像

二,需要改动xml原文件。

办法二,使用一小段jquery插件:

/**

* jQuery xml plugin - Converts XML node(s) to string

* Dual licensed under the MIT and GPL

* Copyright (c) 2009 Radim Svoboda

* @version 1.0.0

*/

jQuery.fn.xml=function(all){var s=""if(this.length)

(((typeof all!='undefined')&&all)?this:jQuery(this[0]).contents()).each(function(){s+=window.ActiveXObject?this.xml:(new XMLSerializer()).serializeToString(this)})return s}

以上为插件代码。

使用以上代码后,就可以使用ajax读取xml文件中的文字和标签了。比如:

$.get('xml文件url',function(data){$('选择器').html($(data).find('info').xml(0))})

其中xml()括号里有两个参数0和1可以选。

0代表读取 info标签里面的内容

1代表读取 info标签以及标签里面的内容

这种办法,缺点暂时没发现。

好了,我写了那么多,分给我吧?

在页面中换行需要使用br标签或通过其他块级元素、css规则等方式实现:

1.br标签

<span>123<br />456<span>

2.块级元素(输出的html代码可以是一行,显示出来会出现3行)

<div>第一行</div><div>第二行</div><div>第三行</div>

3.pre标签(生成html代码必须包含所有的格式,如换行符\n等,会按照源代码的格式显示)

<pre>

第1行

第2行

第3行

</pre>

datatable如果想转换成JSON类型的数据,是需要处理的。直接用微软提供的JavaScriptSerializer类直接序列化,会报错。

所以这里需要贴上两个方法,专门用来转换datatable的

#region DataTable转换为JSON

    /// <summary>

    /// DataTable生成JSON

    /// </summary>

    /// <param name="dt"></param>

    /// <returns></returns>

    public static string CreateJSON(DataTable dt)

    {

        Dictionary<string, object> dit = new Dictionary<string, object>()

        List<Dictionary<string, string>> list = DateTableConverter(dt)

        if (list != null)

        {

            dit[dt.TableName] = DateTableConverter(dt)

            return new JavaScriptSerializer().Serialize(dit)

        }

        else

        {

            return ""

        }

    }

    /// <summary>

    /// 将DataTable数据转化为字典类型

    /// </summary>

    /// <param name="dt"></param>

    /// <returns></returns>

    public static List<Dictionary<string, string>> DateTableConverter(DataTable dt)

    {

        List<Dictionary<string, string>> list = new List<Dictionary<string, string>>()

        string cloName = string.Empty

        foreach (DataRow dr in dt.Rows)

        {

            Dictionary<string, string> cloumn = new Dictionary<string, string>()

            foreach (DataColumn dc in dt.Columns)

            {

                cloName = dc.ColumnName

                cloumn.Add(cloName, dr[cloName].ToString())

            }

            list.Add(cloumn)

        }

        return list

    }

    #endregion

2.调用代码如下

            DataTable table = new DataTable("Table1")

            DataColumn col1 = new DataColumn("ID", typeof(string))

            DataColumn col2 = new DataColumn("Name", typeof(string))

            table.Columns.Add(col1)

            table.Columns.Add(col2)

            DataRow row1 = table.NewRow()

            row1["ID"] = "1"

            row1["Name"] = "a"

            table.Rows.Add(row1)

            DataRow row2 = table.NewRow()

            row2["ID"] = "2"

            row2["Name"] = "b"

            table.Rows.Add(row2)

            string json = CreateJSON(table)

3.json结果如下

{"Table1":[{"ID":"1","Name":"a"},{"ID":"2","Name":"b"}]}

4.数组中每一个元素,都是一行数据。只要循环遍历,然后将结果添加入你已经创建好的table中就可以了。还有疑问,继续追问吧。我先去吃饭了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/bake/11686534.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存