동적으로 요소 (레벨 1)를 생성하여 동적으로 요소 (레벨 2)를 만듭니다. 그러나 레벨 2 요소의 하위 요소는 상위 요소로 "본문"을가집니다.Javascript : 하위 노드의 부모를 제어 할 수 없습니다.
아래 HTML 코드에서 spotAd2가 내 함수 인 createNode()에 의해 작성되었습니다. Google Ad Sense 태그입니다. 그러나 Google Ad Sense 태그는 '본문'바로 아래에있는 요소를 만듭니다. 나는 tnDiv1하에 그들을 필요로한다.
function createNode(t, // type.
tn, // if type is element, tag name.
a, // if type is element, attributes.
v, // node value or text content
p, // parent
f) // whether to make dist the first child or not.
{
n = null;
switch(t)
{
case "element":
n = document.createElement(tn);
if(a)
{
for(k in a)
{
n.setAttribute(k, a[ k ]);
}
}
break;
case "text":
case "cdata_section":
case "comment":
n = document.createTextNode(v);
break;
}
if (p)
{
if(f)
{
p.insertBefore(n, p.firstChild);
}
else
{
p.appendChild(n);
}
}
return n;
}
spotAd2 = document.getElementById("spotAd2");
n1 = createNode("element", "div", {"id":"tnDiv1"}, "\n" , spotAd2, true);
n2 = createNode("element", "script", {"type":"text\/javascript"}, "\n" , n1, false);
n3 = createNode("comment", "", null, "\n" +
"google_ad_client = \"pub-0321943928525350\";\n" +
"/* 728x90 (main top) */\n" +
"google_ad_slot = \"2783893649\";\n" +
"google_ad_width = 728;\n" +
"google_ad_height = 90;\n" +
"//\n" , n2, false);
n4 = createNode("element", "script", {"type":"text\/javascript","src":"http:\/\/pagead2.googlesyndication.com\/pagead\/show_ads.js"}, "\n" , n1, false);
--- 결과 : (거의 24 시간 동안 깨어)
<body>
<table cellspacing="2" cellpadding="2" border="1">
<tbody><tr>
<td>Oel ngati kemeie</td>
<td>Kamakto niwin</td>
</tr>
<tr>
<td>The ad:</td>
<td>
<div id="spotAd2">
<!-- Created by createNode() -->
<div id="tnDiv1">
<script type="text/javascript">
google_ad_client = "pub-0321943928525350";
/* 728x90 (main top) */
google_ad_slot = "2783893649";
google_ad_width = 728;
google_ad_height = 90;
</script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</div>
<!-- Created by createNode() -->
</div>
</td>
</tr>
<tr>
<td>txopu ra'a tsi, tsamsiyu</td>
<td>teyrakup skxawng</td>
</tr>
</tbody></table>
<!-- Created by adsense tag, need these to be under tnDiv1 -->
<script src="http://pagead2.googlesyndication.com/pagead/expansion_embed.js"></script>
<script src="http://googleads.g.doubleclick.net/pagead/test_domain.js"></script>
<script>google_protectAndRun("ads_core.google_render_ad", google_handleError, google_render_ad);</script>
<ins style="border: medium none ; margin: 0pt; padding: 0pt; display: inline-table; height: 90px; position: relative; visibility: visible; width: 728px;">
<ins style="border: medium none ; margin: 0pt; padding: 0pt; display: block; height: 90px; position: relative; visibility: visible; width: 728px;">
<iframe width="728" scrolling="no" height="90" frameborder="0" vspace="0" style="left: 0pt; position: absolute; top: 0pt;" src="http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-0321943928525350&output=html&h=90&slotname=2783893649&w=728&lmt=1273708979&flash=10.0.45&url=http%3A%2F%2Fkenshin.katanatechworks.com%2Ftest%2FadsBrowserSide.php&dt=1273708980294&shv=r20100422&correlator=1273708980298&frm=0&ga_vid=695691836.1273708981&ga_sid=1273708981&ga_hid=1961182006&ga_fc=0&u_tz=480&u_his=2&u_java=1&u_h=1080&u_w=1920&u_ah=1052&u_aw=1920&u_cd=24&u_nplug=5&u_nmime=38&biw=1394&bih=324&fu=0&ifi=1&dtd=955&xpc=Jl67G4xiq6&p=http%3A//kenshin.katanatechworks.com" name="google_ads_frame" marginwidth="0" marginheight="0" id="google_ads_frame1" hspace="0" allowtransparency="true">
</iframe>
</ins>
</ins>
<!-- Created by adsense tag, need these to be under tnDiv1 -->
</body>
_Please_는 의미있는 변수 이름을 사용하십시오. – SLaks
이것은 실제 질문이 아닙니다. 문제가있는 곳을 알려주고 코드를 덤프하지 말아야합니다. –
이것이 올바르게 포맷되지 않았다면 매우 유감스럽게 생각합니다. 새 질문을 만들고 올바르게 형식을 지정하겠습니다. – iamhappycoder