Я создаю элементы (уровень 1) динамически, которые, в свою очередь, сами создают элементы (уровень 2). Однако дочерние элементы элементов уровня 2 имеют «тело» в качестве родителя.
В приведенном ниже 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);
--- Результат:
<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>