繁体   English   中英

jquery/javascript 在动态创建的元素 id 中查找值

[英]jquery/javascript finding the value within a dynamically created element id

我有一个动态生成的 html 表,其列的 id 是动态分配的。 例如:

   <td id="1">1</td>
    <td id="2">2</td>
     ....
     ....
   <td id="n">n</td>

为了获取特定列的获取值,我正在使用document.getElementById("#myvar").innerHTML$("td#myvar").html ,其中 myvar 是包含搜索元素(例如 2 或 3 等)的变量. 但我没有得到任何结果。 如果我直接为document.getElementById("#2").innerHTML使用一个数字,它就可以工作。 请告知如何获取元素 id 与声明的变量相同的值?

首先, getElementById() DOM 方法需要一个 ID,而不是 jQuery 选择器。

其次, JavaScript 和 jQuery 都不提供字符串中的变量插值,正如您所假设的那样。 你必须建立自己的字符串:

var myvar = 2;
$("td#" + myvar).html()

最后但同样重要的是,请记住 ID 属性不能以数字开头,除非您使用 HTML 5。

用这个 -

$("#"+myVar).html();

你的代码是错误的。 使用 document.getElementById 时,不包含 # 符号。 当使用 jQuery id 选择器时,您确实使用了 # 符号,但您需要将 call.html() 作为 function。

document.getElementById("myvar").innerHTML

$('#myvar').html(); 

如果 myvar 是变量,则省略引号,例如 if myvar = "2"; 那么您的选择器将是:

document.getElementById(myvar).innerHTML

对于 jQuery,使用字符串连接:

$('#' + myvar).html();

document.getElementById接受一个字符串参数,它是你想要的元素的 id select,所以你不需要包括#,即

document.getElementById(myvar).innerHTML

应该管用

与你的问题没有直接关系,但ID属性以数字开头是无效的

http://www.w3.org/TR/html401/types.html#type-name

ID 和 NAME 标记必须以字母 ([A-Za-z]) 开头,后面可以跟任意数量的字母、数字 ([0-9])、连字符 ("-")、下划线 ("_") 、冒号(“:”)和句点(“.”)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM