jQuery使用笔记

1、如何jQuery对象中返回dom元素对象:

.get([index])方法:

index
类型:  Number
从0开始计数,用来确定获取哪个元素。

2、 jQuery中html方法,对于某些元素的html,使用html返回内容和 原始html内容不一致,示例如下

原始html内容:

<tr data-item={"Iden":0,"GF_ID":408847,"Bill_NO":0,"Original_GF_ID":0,"FCR_NO":null,"PPO_NO":null,"Warp_Weft":"W","Yarn_Type":"CF",

"Yarn_Count":"70","Color_Code":"NY89150","Remark":null,"Operate_Time":"\/Date(-62135596800000)\/","Operator":null,

"Print_date":"\/Date(-62135596800000)\/","Standard_Reason":"","Color_Comment":"","historybatchno":"T4700753 纬纱标准","cadbatchno":"TA800713;"}>
<td class="cellBorder"  data-field="Warp_Weft">W</td>
<td class="cellBorder"  data-field="Yarn_Type">CF</td>
<td class="cellBorder"  data-field="Color_Code">70NY89150</td>
<td class="cellBorder"  data-field="Remark"><input type="text" value="" name="standard" /></td>
<td class="cellBorder"  data-field="Standard_Reason"><input type="text" value="" name="qa_reason" /></td>
<td class="cellBorder"  data-field="historybatchno"><a id="reppo_finish_j_history_standard" href='javascript:void(0)' class='custom_kendo_ui_grid_cell_style'>T4700753 纬纱标准</a></td>
<td class="cellBorder"  data-field="cadbatchno"><a id="reppo_finish_j_cur_batch_no" href='javascript:void(0)' class='custom_kendo_ui_grid_cell_style'>TA800713;</a></td>
</tr>

 使用 html方法执行的内容:

<tr data-item="{&quot;Iden&quot;:0,&quot;GF_ID&quot;:408847,&quot;Bill_NO&quot;:0,&quot;Original_GF_ID&quot;:0,&quot;FCR_NO&quot;:null,&quot;PPO_NO&quot;:null,

&quot;Warp_Weft&quot;:&quot;W&quot;,&quot;Yarn_Type&quot;:&quot;CF&quot;,&quot;Yarn_Count&quot;:&quot;70&quot;,

&quot;Color_Code&quot;:&quot;NY89150&quot;,&quot;Remark&quot;:null,&quot;Operate_Time&quot;:&quot;\/Date(-62135596800000)\/&quot;,

&quot;Operator&quot;:null,&quot;Print_date&quot;:&quot;\/Date(-62135596800000)\/&quot;,&quot;Standard_Reason&quot;:&quot;&quot;,

&quot;Color_Comment&quot;:&quot;&quot;,&quot;historybatchno&quot;:&quot;T4700753" 纬纱标准","cadbatchno":"ta800713;"}="">

<td class="cellBorder" data-field="Warp_Weft">W</td>
<td class="cellBorder" data-field="Yarn_Type">CF</td>
<td class="cellBorder" data-field="Color_Code">70NY89150</td>
<td class="cellBorder" data-field="Remark"><input type="text" value="" name="standard"></td>
<td class="cellBorder" data-field="Standard_Reason"><input type="text" value="" name="qa_reason"></td>
<td class="cellBorder" data-field="historybatchno"><a id="reppo_finish_j_history_standard" href="javascript:void(0)" class="custom_kendo_ui_grid_cell_style">T4700753 纬纱标准</a></td>
<td class="cellBorder" data-field="cadbatchno"><a id="reppo_finish_j_cur_batch_no" href="javascript:void(0)" class="custom_kendo_ui_grid_cell_style">TA800713;</a></td>
</tr>

"T4700753 纬纱标准" 怎么会变成 &quot;T4700753" 纬纱标准"

正常应该变成&quot;T4700753 纬纱标准&quot;才对嘛。。。。。。。。

这里的文本唯一的特别就是含有空格,难道html中无法处理这种情况吗?

但是我测试过如果在 html标记中写带有空格的内容,html出来的内容是ok的,为什么data后面实体里面的空格就处理不了呢?


Is it bad to add JSON on HTML data attribute?

Since HTML data attribute allows adding any custom data, I wonder if it is a good idea to include a set of JSON list as a data attribute? Then, the corresponding JSON can be easily accessed by JavaScript events with getAttribute("data-x").

In fact, my question is that: Is it standard, efficient, and reasonable to add a large set of data to a HTML attribute?

For example

<div data-x="A LARGE SET OF JSON DATA" id="x">

Or large set of JSON data must be stored within <script> tag, and a HTML attribute is not a right place for large set of data, even for data attribute.

======

Instead of storing everything in the data attribute you could use an identifier to access the data.

So for example you could do this :

var myBigJsonObj = { 
                      data1 : { //lots of data}, 
                      data2 : { //lots of data}                   

                   };

and then you had some html like so :

<div data-dataId="data1" id="x">

You can use jquery to get the data now like so :

var dataId = $('#x').attr('data-dataId');

var myData = myBigJsonObj[dataId];

This is the best approach imho.


3、关于label元素使用jQuery取值问题:

当使用 val()方法时,无法取到label元素包含的内容,而使用text()方法则可以,如:

<label id="someLbl">dddddd</label>

("#someLbl").val()返回为空串,而("#someLbl").text()则可以返回"dddddd".

另:

在应用<textarea>元素时,使用val()和text()均可以取到值。

4、使用jquery 操作select元素

(1)清空select下面option子元素

$("#select_id").empty();

(2)向select下添加一个option子元素

$("#select_id").append("<option value=''></option>")

(3)选中select下面第一个option子元素

$("select_id").children("[index=0]").attr("selected",true);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值