下面包括我正在使用的当前代码:
<script type="text/javascript" >
function rightTopSidebarAd() {
document.write ("Text to test!");
}
</script>
<div style="border:3px solid #FF0000" id="rightTopSidebar">
</div>
<script type="text/javascript">
$j('#rightTopSidebar').text(rightTopSidebarAd());
</script>
在这里,我有一个简单的函数rightTopSidebarAd()
我想返回或打印字符串"要测试的文本!我希望该函数导致内容放置在rightTopSidebar
元素内。
目前,它在div 之后打印"要测试的文本!",因为这是放置text()
方法的地方。 如果我把jQuery代码放在上面,那么它就会打印在那个位置。
注意:我不能将jQuery代码放在div
内,因为这只是一个演示。 在原始页面中,所有div
元素都将分布在网页周围,我将jQuery函数存储在外部JavaScript文件中。
编辑:伙计们,我的错:我确实展示了一个简单的功能
function rightTopSidebarAd() {
document.write ("Text to test!");
}
为了说明我的问题,正如您所说,一个简单的"返回"可以解决此问题,但真正的函数并没有那么简单,我正在尝试返回一个 OpenX 代码,请告诉我如何使用这个函数:
function rightTopSidebarAd() {
document.MAX_ct0 ='{clickurl}';
var m3_u = (location.protocol=='https:'?'https://one.mydomain.com/www/delivery/ajs.php':'http://one.mydomain.com/www/delivery/ajs.php');
var m3_r = Math.floor(Math.random()*99999999999);
if (!document.MAX_used) document.MAX_used = ',';
document.write ("<scr"+"ipt type='text/javascript' src='"+m3_u);
document.write ("?zoneid=15&target=_blank");
document.write ('&cb=' + m3_r);
if (document.MAX_used != ',') document.write ("&exclude=" + document.MAX_used);
document.write (document.charset ? '&charset='+document.charset : (document.characterSet ? '&charset='+document.characterSet : ''));
document.write ("&loc=" + escape(window.location));
if (document.referrer) document.write ("&referer=" + escape(document.referrer));
if (document.context) document.write ("&context=" + escape(document.context));
if ((typeof(document.MAX_ct0) != 'undefined') && (document.MAX_ct0.substring(0,4) == 'http')) {
document.write ("&ct0=" + escape(document.MAX_ct0));
}
if (document.mmm_fo) document.write ("&mmm_fo=1");
document.write ("'></scr"+"ipt>");
document.write ("<noscript><a href='http://one.mydomain.com/www/delivery/ck.php?n=a8ed906c&cb={random}' target='_blank'><img src='http://one.mydomain.com/www/delivery/avw.php?zoneid=15&cb={random}&n=a8ed906c&ct0={clickurl}' border='0' alt='' /></a></noscript>");
}
您需要返回您的值,而不是将其写入文档:
function rightTopSidebarAd() {
return "Text to test!";
}
根据您的问题更新,您的函数现在应该是:
function rightTopSidebarAd() {
var valueToReturn = '';
document.MAX_ct0 ='{clickurl}';
var m3_u = (location.protocol=='https:'?'https://one.mydomain.com/www/delivery/ajs.php':'http://one.mydomain.com/www/delivery/ajs.php');
var m3_r = Math.floor(Math.random()*99999999999);
if (!document.MAX_used) document.MAX_used = ',';
valueToReturn += "<scr"+"ipt type='text/javascript' src='"+m3_u;
valueToReturn += "?zoneid=15&target=_blank";
valueToReturn += '&cb=' + m3_r;
if (document.MAX_used != ',') valueToReturn += "&exclude=" + document.MAX_used;
valueToReturn += document.charset ? '&charset='+document.charset : (document.characterSet ? '&charset='+document.characterSet : '');
valueToReturn += "&loc=" + escape(window.location);
if (document.referrer) valueToReturn += "&referer=" + escape(document.referrer);
if (document.context) valueToReturn += "&context=" + escape(document.context);
if ((typeof(document.MAX_ct0) != 'undefined') && (document.MAX_ct0.substring(0,4) == 'http')) {
valueToReturn += "&ct0=" + escape(document.MAX_ct0);
}
if (document.mmm_fo) valueToReturn += "&mmm_fo=1";
valueToReturn += "'></scr"+"ipt>";
valueToReturn += "<noscript><a href='http://one.mydomain.com/www/delivery/ck.php?n=a8ed906c&cb={random}' target='_blank'><img src='http://one.mydomain.com/www/delivery/avw.php?zoneid=15&cb={random}&n=a8ed906c&ct0={clickurl}' border='0' alt='' /></a></noscript>";
return valueToReturn;
}
只需从函数返回文本,而不是打印它:
<script type="text/javascript" >
function rightTopSidebarAd() {
return "Text to test!";
}
</script>
<div style="border:3px solid #FF0000" id="rightTopSidebar">
</div>
<script type="text/javascript">
$j('#rightTopSidebar').text(rightTopSidebarAd());
</script>
当前方法尝试写入文档对象,而不是#rightTopSidebar
。
尝试对函数进行以下更新:
function rightTopSidebarAd() {
return "Text to test!";
}
通过使用 return,您将字符串传递给 text()
方法,这将导致传递的字符串被写入所需的元素。
此外,您需要通过将代码包装在 $(document).ready()
函数中来调用 text() 方法。
<script type="text/javascript">
function rightTopSidebarAd() {
return "Text to test!";
}
$(function(){
$('#rightTopSidebar').text(rightTopSidebarAd());
});
</script>
<div style="border:3px solid #FF0000" id="rightTopSidebar"></div >