使用javascript将ID分配给对象(仅一个)
由于某些原因,下面的代码不起作用。我需要它为一个对象分配一个ID。下面我做错了什么使用javascript将ID分配给对象(仅一个),javascript,element,tagname,Javascript,Element,Tagname,由于某些原因,下面的代码不起作用。我需要它为一个对象分配一个ID。下面我做错了什么 var frame = document.getElementsByTagName("iframe").setAttribute("id","iframe"); 我安装了一个jQuery库,如果它有用的话 假设您的目标是找到的第一个iframe: var frame = document.getElementsByTagName("iframe")[0]; frame.setAttribute("id","
var frame = document.getElementsByTagName("iframe").setAttribute("id","iframe");
我安装了一个jQuery库,如果它有用的话 假设您的目标是找到的第一个iframe:
var frame = document.getElementsByTagName("iframe")[0];
frame.setAttribute("id","iframe");
需要
[0]
索引的原因是getElementsByTagName
将返回具有该标记名的所有元素的集合,即使只有一个
而且,正如ThiefMaster所说,您还可以使用
frame.id=“iframe”
而不是setAttribute
假设您的目标是找到的第一个iframe:
var frame = document.getElementsByTagName("iframe")[0];
frame.setAttribute("id","iframe");
需要
[0]
索引的原因是getElementsByTagName
将返回具有该标记名的所有元素的集合,即使只有一个
而且,正如ThiefMaster所说,您还可以使用
frame.id=“iframe”
而不是setAttribute
,因为您使用的是jQuery,所以您可以使其更简单:
$('iframe').attr('id', 'iframe'); // or:
$('iframe').prop('id', 'iframe');
这会影响页面上的所有元素,因此最好只有一个。重复ID是一件严肃的事情。它们会破坏东西,你真的需要避免它们。您可以链入.first()
或使用iframe:first
选择器确保只针对第一个元素
以下是无jQuery的解决方案,也是第一个
:
var frame = document.getElementsByTagName("iframe")[0];
frame.id = 'iframe';
第1行:您实际上需要frame
中的(第一个)iframe
元素第2行:ID可以作为属性使用,因此您可以使用
.ID
而不是setAttribute
因为您使用的是jQuery,所以可以简化此操作:
$('iframe').attr('id', 'iframe'); // or:
$('iframe').prop('id', 'iframe');
这会影响页面上的所有元素,因此最好只有一个。重复ID是一件严肃的事情。它们会破坏东西,你真的需要避免它们。您可以链入.first()
或使用iframe:first
选择器确保只针对第一个元素
以下是无jQuery的解决方案,也是第一个
:
var frame = document.getElementsByTagName("iframe")[0];
frame.id = 'iframe';
第1行:您实际上需要frame
中的(第一个)iframe
元素第2行:ID作为属性可用,因此您可以使用
.ID
而不是setAttribute
尝试此操作
<script>
var frame = document.getElementsByTagName("iframe")[0].id="iframe1";
alert(document.getElementById("iframe1").name);
</script>
var frame=document.getElementsByTagName(“iframe”)[0].id=“iframe1”;
警报(document.getElementById(“iframe1”).name);
试试这个
<script>
var frame = document.getElementsByTagName("iframe")[0].id="iframe1";
alert(document.getElementById("iframe1").name);
</script>
var frame=document.getElementsByTagName(“iframe”)[0].id=“iframe1”;
警报(document.getElementById(“iframe1”).name);
getElementsByTagName()
返回节点列表()。它是一个类似数组的对象,包含对DOM对象的引用getElementsByTagName()
返回节点列表()。它是一个类似数组的对象,包含对DOM对象的引用。谢谢我不知道它会返回一个数组,这解决了我的问题!谢谢我不知道它会返回一个数组,这解决了我的问题!