Javascript 嵌套元素创建不起作用?

Javascript 嵌套元素创建不起作用?,javascript,html,Javascript,Html,正在尝试在元素中创建元素。这里是一个锚定标签内的img。 我使用的是append-child,但注销时的“userlogelement”只是img标记,锚点是空的锚点标记。为什么什么都没发生 var anchor = document.createElement('a'); anchor.href = var0; //---- Create image element ---- var img = document.

正在尝试在元素中创建元素。这里是一个锚定标签内的img。 我使用的是append-child,但注销时的“userlogelement”只是img标记,锚点是空的锚点标记。为什么什么都没发生

         var anchor  = document.createElement('a');
         anchor.href = var0;

         //---- Create image element ----
         var img   = document.createElement('img');
         img.src   = var1;
         img.title = var2;

         //---- Combine elements ----
         var userLogoElement = anchor.appendChild(img);

         console.log(userLogoElement, anchor, img);
         //console says img === userLogoElement, anchor is empty
代码运行良好

请注意,返回对附加的节点的引用,而不是附加到的节点。这就是为什么
userlogelement
是图像而不是锚定

另请注意:在Firebug中,日志仅显示父锚点,在控制台日志中不包括其子锚点。另一方面,铬确实显示了这一点。一种简单的测试方法是将其附加到文档中,然后自己查看(就像在小提琴中一样)。

采用jquery短编码风格
$("")
.attr('href','www.pranaysonisoft.blogspot.com')

.append($)我运行了以下代码:

<script type="text/javascript">
var0="www.google.com";
var1="bee.jpg";
var2="Don Bee";
    var anchor  = document.createElement('a');
     anchor.href = var0;

     //---- Create image element ----
     var img   = document.createElement('img');
     img.src   = var1;
     img.title = var2;

     //---- Combine elements ----
     var userLogoElement = anchor.appendChild(img);

     console.log(userLogoElement);
     console.log ("next");
     console.log(anchor);
     console.log("next");
     console.log(img);

     </script>

var0=“www.google.com”;
var1=“bee.jpg”;
var2=“Don Bee”;
var anchor=document.createElement('a');
anchor.href=var0;
//----创建图像元素----
var img=document.createElement('img');
img.src=var1;
img.title=var2;
//----组合元素----
var userLogoElement=anchor.appendChild(img);
log(userLogoElement);
console.log(“下一步”);
控制台日志(锚);
控制台日志(“下一步”);
控制台日志(img);
我有以下输出

userLogoElement: img src=“bee.jpg”title=“Don bee”

主播:
a href=“www.google.com”img src=“bee.jpg”title=“Don bee”/a


这似乎工作正常。userLogoElement的返回值不是你的锚

appendChild返回IMO是件奇怪的事情。我不得不在
findelelement(无论什么).html(锚)中使用锚而不是userLogoElement
您可能会争辩说,返回节点会比执行方法链接更好。这一点很好!我对其工作方式的最初假设影响了我命名和传递变量的方式。
<script type="text/javascript">
var0="www.google.com";
var1="bee.jpg";
var2="Don Bee";
    var anchor  = document.createElement('a');
     anchor.href = var0;

     //---- Create image element ----
     var img   = document.createElement('img');
     img.src   = var1;
     img.title = var2;

     //---- Combine elements ----
     var userLogoElement = anchor.appendChild(img);

     console.log(userLogoElement);
     console.log ("next");
     console.log(anchor);
     console.log("next");
     console.log(img);

     </script>