<a id="s_6_2_19_0_mb" class="siebui-ctrl-drilldown" name="Name" rowid="1" href="javascript:void(0)">00102400010630001</a>
<a id="s_6_2_19_0_mb" class="siebui-ctrl-drilldown" name="Name" rowid="2" href="javascript:void(0)">00102402608820001</a>
我需要获取这两个元素的文本值。所以我使用以下代码:
$('a#s_6_2_19_0_mb[rowid="1"]').text();
$('a#s_6_2_19_0_mb[rowid="2"]').text();
但#Id会因页面而异。所以我在一个变量中得到了id,比如&#34; idVal&#34;。并且idVal = s_6_2_19_0_mb。所以现在要获取文本值我使用下面的代码
$('\'a' +'#'+idVal+'\[rowid\=\"1\"]'+'\'').text();
但这会引发一个错误。请告诉我如何在上述情况下使用#id的变量提取文本值
答案 0 :(得分:1)
好吧,正如其他人所说 ID必须是唯一的,但是如果真的无法改变(并假设类和行可能不同),那么你可以做:
$("a[id='"+idVal+"'][rowid='1']").text();
答案 1 :(得分:0)
我在HTML中是唯一的,因此请使用class而不是id
$(".siebui-ctrl-drilldown[rowid = 1]").text();
$(".siebui-ctrl-drilldown[rowid = 2]").text();
答案 2 :(得分:0)
你不需要逃避=,也不需要&#34; s,你的引号数量不均匀。 所以你应该有这样的东西:
String
哦,是的,正如其他人所说的那样,身份证应始终是独一无二的。尝试访问具有相同ID的多个元素将始终返回第一个元素。
答案 3 :(得分:0)
对于同一页面上的多个元素,您永远不应该拥有相同的ID。但是您可以使用类选择器来定位它们:
$("a.siebui-ctrl-drilldown[rowid=1]").text();
$("a.siebui-ctrl-drilldown[rowid=2]").text();
答案 4 :(得分:0)
$('a#' + idVal + '[rowid="1"]').text();
但是你必须在DOM
中避免使用相同的id答案 5 :(得分:0)
您可以简单地使用:(删除具有相同值的ID)
$("a[rowid=1]").text();
$("a[rowid=2]").text();
答案 6 :(得分:0)
您可以简化选择器并移除a
并使用以下代码,其中rowId
包含您要检索的行的ID:
var linkText = $('#'+ idVal +'[rowid=\"'+ rowId +'\"]').text();
或者只是对行ID进行硬编码:
var link1Text = $('#'+ idVal +'[rowid="1"]').text();
var link1Text = $('#'+ idVal +'[rowid="2"]').text();
干杯,