gpt4 book ai didi

javascript - Jquery .append 和appendto() 悲伤

转载 作者:行者123 更新时间:2023-11-28 21:02:01 25 4
gpt4 key购买 nike

我需要将以下 HTML 片段附加到文档中,并替换 display_spinner 参数的值:

<script type="text/javascript" src="http://public.tableausoftware.com/javascripts/api/viz_v1.js"></script>
<div class="tableauPlaceholder" id="tableauPlaceholder" style="visibility:hidden;width:654px; height:1469px;background-image: url('http://tableau.russellchristopher.org:81/Background.gif'); top: 0px; left: 0px; width: 100%; margin-left: 76px;">
<noscript>
<a href="#"><img alt="Analytics, Inc. "
src="http://tableau.russellchristopher.org:81/Background.gif"
style="border: none" /></a>
</noscript>
<object class="tableauViz" width="654" height="1469" style="display:none;">
<param name="host_url" value="http%3A%2F%2Fpublic.tableausoftware.com%2F"
/>
<param name="site_root" value="" />
<param name="name" value="AnalyticsIncJavaScript&#47;AnalyticsInc" />
<param name="tabs" value="no" />
<param name="toolbar" value="yes" />
<param name="static_image" value="tableau.russellchristopher.org:81/Background.gif"
/>
<param name="animate_transition" value="yes" />
<param name="display_static_image" value="yes" />
<param name="display_spinner" value="" id="display_spinner" />
<param name="display_overlay" value="yes" />
<param name="display_count" value="yes" />
</object>
</div>

这是我的想法(这里是 JSFiddle: http://jsfiddle.net/9vBGq/ )

$(document).ready(function () {
var $placeholder = $('<div class="tableauPlaceholder" style="width:654px; height:1469px;background-image: url("http%3A%2F%2Ftableau.russellchristopher.org:81%2FBackground.gif"); top: 0px; left: 0px; width: 100%; margin-left: 76px;"></div>'),
$noscript = $('<noscript> <a href="#"><img alt="Analytics, Inc. " src="http%3A%2F%2Ftableau.russellchristopher.org:81/Background.gif" style="border: none" /></a></noscript>'),
$tableauViz = $('<object class="tableauViz" width="654" height="1469"></object>'),
$host_url = $('<param name="host_url" value="http%3A%2F%2Fpublic.tableausoftware.com%2F">'),
$site_root = $('<param name="site_root" value="" />'),
$sheetName = $('<param name="name" value="AnalyticsIncJavaScript&#47;AnalyticsInc" />'),
$tabs = $('<param name="tabs" value="no" />'),
$toolbar = $('<param name="toolbar" value="yes" />'),
$static_image = $('<param name="static_image" value="http://tableau.russellchristopher.org:81/Background.gif"/>'),
$animate_trasnsition = $('<param name="animate_transition" value="yes" />'),
$display_static_image = $('<param name="display_static_image" value="yes" />'),
$display_overlay = $('<param name="display_overlay" value="yes" />'),
$display_count = $('<param name="display_count" value="yes" />'),
$display_spinner = $('<param name="display_spinner" value="' + 'no' + '" />');
$placeholder.append($noscript).append($tableauViz).append($host_url).append($site_root).append($sheetName).append($tabs).append($toolbar).append($static_image).append($animate_trasnsition).append($display_static_image).append($display_overlay).append($display_count).append($display_spinner).appendTo('body');
console.log(document.body);
});​

从我的 console.log 中可以看到,存在多个问题 - 而且我对这些东西还太陌生,无法确切知道原因:

enter image description here

  • 我的 <div> 中的 URL 编码看起来很糟糕。我做错了什么?
  • <a>嵌套在 noscript block 内的标签看起来很糟糕
  • 有一个结束</object>列出我的参数后应关闭的标记
  • 结束/>在每个我的参数上都丢失了 - 再次 URL 编码我认为很奇怪,但不确定如何处理。

我怀疑你们是专业人士,并在几秒钟内将我踢向正确的方向......请按照您认为合适的方式踢我?谢谢。

最佳答案

我认为最好的解决方案是在 html 中创建一个模板并读取它,而不是用 javascript 制作它。

类似于

<!-- template code follows -->
<script type="text/template" id="tableau">
<div class="tableauPlaceholder" id="tableauPlaceholder" ..
..snip..
<param name="display_spinner" value="{placeholder}" id="display_spinner" />
..snip..
</div>
</script>
<!-- end of template -->

那么您需要此代码来加载模板并更改占位符

var template = $('#tableau').html(),
filledTemplate = template.replace('{placeholder}','value for spinner');

$('body').append( filledTemplate );

演示位于 http://jsfiddle.net/gaby/9vBGq/1/

(我已从模板中删除了 noscript 元素,因为一切都是通过脚本完成的)

关于javascript - Jquery .append 和appendto() 悲伤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10755501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com