qq_38278735 2017-08-03 13:58 采纳率: 50%
浏览 4190
已采纳

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条回答 默认 最新

  • Go 旅城通票 2017-08-04 01:56
    关注

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

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

    ==>

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • Rattenking Python领域优质创作者 2017-08-04 02:02
    关注

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

    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 java为什么这个按钮监听事件不触发
  • ¥20 unity打光没有照亮物体
  • ¥25 powershell如何拷贝1周前的文件
  • ¥15 询问MYSQL查询SQLSERVER数据表并比较差异后,更新MYSQL的数据表
  • ¥15 关于#前端#的问题,请各位专家解答!
  • ¥15 最小生成树问题 Prim算法和Kruskal算法
  • ¥25 医院住院病人呼叫器设计
  • ¥15 不想和现在的团队合作了,怎么避免他们对程序动手脚
  • ¥20 C语言字符串不区分大小写字典排序相关问题
  • ¥15 关于#python#的问题:我希望通过逆向技术爬取1688搜索页下滑加载的数据