首先我來介紹一下我遇到的問題
1.當(dāng)有一個(gè)table表包含了<tr>標(biāo)簽,<td>標(biāo)簽,大致可以認(rèn)為是這樣的:
<tr> <td> @scene.ID </td> <td> @scene.SceneName </td> <td> @scene.QRUrl </td> <td> @scene.LocalUrl </td> <td> <!--如果有圖片,展示圖片,沒有圖片生成圖片--> <!--判斷l(xiāng)ocalUrl(本地服務(wù)器路徑)是否為空,如果為空,表示沒有生成,如果不為空表示已經(jīng)生成--> @if (!string.IsNullOrWhiteSpace(scene.LocalUrl)) { <!--圖片不為空,展示圖片地址--> <img src="@scene.LocalUrl" style="width:200px; height:100px"/> } else { <!--圖片為空,生成圖片--> <a sceneid="@scene.ID" href="#" rel="external nofollow" rel="external nofollow" onclick="build(this);">生成</a> } </td> </tr>
2.這里有一個(gè)onclick事件,我要做的就是點(diǎn)擊“生成”鏈接,要找到QRUrl的<td>標(biāo)簽和LocalUrl的<td>標(biāo)簽
首先我們點(diǎn)擊這個(gè)a標(biāo)簽,執(zhí)行jQuery中的點(diǎn)擊事件
function build(sender){ var jqSender = $(sender); + +} 這里把js對(duì)象通過 $()轉(zhuǎn)變成了jquery對(duì)象,下面的內(nèi)容放在兩個(gè)“+”之間。
var sceneid = jqSender.attr('sceneid'); //attr可以找到對(duì)象的屬性的值,這里我們找到了sceneid這個(gè)屬性的值
我需要拿到td標(biāo)簽,首先我應(yīng)該知道是在哪一行,這跟定位是一樣的。比如:在北京有一條南京路1號(hào),在成都也有一條南京路1號(hào),你問我在哪兒,我告訴你我在南京路1號(hào),你能確定我是在北京還是成都嗎,所以我們應(yīng)該要定位,說我們?cè)诔啥嫉哪暇┞?號(hào)。
這里最好也要用eq()來獲取某一行,如果頁面代碼需要修改,這會(huì)很麻煩。比如你要記我家在哪里,你需要知道的是街道、門牌號(hào),你只知道是這條街第一座房子是我家,萬一別人在這新增了一座房子,那就不是第一家了(比喻有點(diǎn)不恰當(dāng),但是計(jì)算機(jī)就是這么死板)。
所以,我們給這個(gè)tr設(shè)一個(gè)id,給QRUrl和LocalUrl設(shè)一個(gè)class,代碼如下:
<tr sceneid="@scene.ID"> <td> @scene.ID </td> <td> @scene.SceneName </td> <td class="wxurl-col"> @scene.QRUrl </td> <td class="localurl-col"> @scene.LocalUrl </td> <td> <!--如果有圖片,展示圖片,沒有圖片生成圖片--> <!--判斷l(xiāng)ocalUrl(本地服務(wù)器路徑)是否為空,如果為空,表示沒有生成,如果不為空表示已經(jīng)生成--> @if (!string.IsNullOrWhiteSpace(scene.LocalUrl)) { <!--圖片不為空,展示圖片地址--> <img src="@scene.LocalUrl" style="width:200px; height:100px"/> } else { <!--圖片為空,生成圖片--> <a sceneid="@scene.ID" href="#" rel="external nofollow" rel="external nofollow" onclick="build(this);">生成</a> } </td> </tr>
那在jQuery里面就可以這樣去找:
<script type="text/javascript"> function build(sender) { var jqSender = $(sender); var sceneid = jqSender.attr('sceneid'); //找到指定行類名為wxurl-col的td標(biāo)簽 $('tbody tr[sceneid=' + sceneid + '] td.wxurl-col') //找到指定行類名為localurl-col的td標(biāo)簽 $('tbody tr[sceneid=' + sceneid + '] td.localurl-col') //找到點(diǎn)擊事件的a標(biāo)簽 jqSender } </script>
td標(biāo)簽只是找出來了,并沒有使用。
方法就是這樣,給元素加“坐標(biāo)”,為什么分別是id和類名,首先有很多行,要唯一確定只有加id,當(dāng)行確定了,那列就可以是id也可以是class,建議用class,便于我們css的管理
注:此篇隨筆只供參考使用,而且也有很多小瑕疵,最主要的不是代碼,邏輯才是最重要的。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com