jquery版本:1.8
原始程式碼
<tr>
<td>1</td>
<td>11,12</td>
</tr>
<tr>
<td>2</td>
<td>21,22</td>
</tr>
改成
<tr>
<td>1</td>
<td><a>11</a><a>12</a></td>
</tr>
<tr>
<td>2</td>
<td><a>21</a><a>22</a></td>
</tr>
嘗試給<td>11,12</td>
加入id="img",但是$("#img").eq(1).html()無法取得到第二行的內容.
for(var i=0; $("#img").length; i++){
//$("#img").eq(i).html需要非空判断
var arr= $("#img").eq(i).html.spilt();
var str;
for(var j=0; aar.length; j++){
str = "<a>"+arr[j]+"</a>";
}
$("#img").eq(i).html(str);
}
jQuery不是很熟,一些文法錯誤希望大手幫忙改正,給大手們添麻煩了.
阿神2017-07-05 10:59:16
不知道你明不明確一點,id是唯一的,一個html代碼頁同樣的id名稱只能有一個!所以$("#img").eq(1)
這樣的程式碼絕對不符合規範。
目測你的程式碼把添加id改為添加類別class後這樣是沒有問題的,另外可以使用jquery的each方法來遍歷dom節點:
var $img = $('.img');'
$img.each(function(index,item){
var aar = $(item).text().split(','),
str = '';
arr.forEach(function(item1,index1){
str = "<a>"+item1+"</a>";
});
$(item).html(str);
});
怪我咯2017-07-05 10:59:16
id只能是唯一的哦,只能取到第一個值,所以要用class
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>test</title>
<script type="text/javascript" src="https://cdn.bootcss.com/jquery/2.2.3/jquery.min.js"></script>
<body>
<table>
<tr>
<td>1</td>
<td>11,12</td>
</tr>
<tr>
<td>2</td>
<td>21,22</td>
</tr>
</table>
</body>
<script type="text/javascript">
$(function () {
$('tr').each(function(){
$(this).addClass("img"); // 这里加入class
var dom = $(this).find("td").eq(1);
dom.each(function () {
var arr = $(this).html().split(",");
var len = arr.length;
var str = '';
for (let i = 0; i < len; i++) {
str += '<a>' + arr[i] + "</a>"
}
console.log($(this), len, str);
$(this).html(str);
});
});
// 这里你可以输出来看看
console.log($(".img").eq(1).html())
})
</script>
</html>