qq_38278735
qq_38278735
采纳率100%
2017-08-03 13:58

js抓取标签内容老是显示undefined

已采纳

一个小的jsp动态网页项目
需要获取一个标签值来进行数据库操作,老是报undefined

HTML部分


<%for(ShopCate sc:scList){ %>
<tr>
<td class="checkbox"><input name="checked" class="check-one check" type="checkbox"/></td>
<td class="goods"><a href="details.jsp?id=<%=sc.getSPId()%>"><img src="<%=ipd.findPhoto(sc.getSPId()) %>" width="100" height="100"/><span id="spname"><%=ispd.findAllSnameById(sc.getSPId()).getSPname() %></span></a></td>
<td class="price"><%=ispd.findAllSnameById(sc.getSPId()).getSPprice() %>元</td>
<td class="count"><input style="height: 30px;width: 100px;border: none;" class="count-input" type="text" value="<%=sc.getSPNum() %>"/></td>
<td class="subtotal"><%=(ispd.findAllSnameById(sc.getSPId()).getSPprice()*sc.getSPNum()) %></td>
<td class="operation"><a class="delete" href="doDelecar?scid=<%=sc.getSCId()%>">X</a></td>
</tr>
<%} %>

JS部分
<script type="text/javascript">
var table = document.getElementById('cartTable'); // 购物车表格
var tr = table.children[1].rows; //行
$("input[name=tj]").click(function(){
for (var i = 0, len = tr.length; i < len; i++){
if (tr[i].getElementsByTagName("input")[0].checked) {
var name=tr[i].getElementsByTagName("span")[1];
alert(name);
}
}
});
</script>
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • showbo GoCityPass新加坡曼谷通票 4年前

    你的tr下span只有一个,下标为0,下标传递1那不是undefined是什么

    var name=tr[i].getElementsByTagName("span")[1];

    ==>

    var name=tr[i].getElementsByTagName("span")[0];

    点赞 1 评论 复制链接分享
  • m0_38082783 Rattenking 4年前

    你试试window.onload = function(){//获取操作元素},可能是js的位置,或者DOM树未加载完成造成的。你发的这个代码,看不出来问题出在什么地方,代码不完整。

    点赞 1 评论 复制链接分享