如果您需要更多信息,请告诉我们。
我正试图以这种方式用jquery动态创建一个'object'元素 - 这段代码驻留在一个函数/作用域内,其中所有数据都可用,但我不知道如何在文档上创建对象...如果我只是将行格式化为原始html并设置值(没有动态),它在测试中工作正常。
var object = document.createElement('object');
$('#main').append(object);
//i've tried .html() .push() and .append()
$(object).append('<object class='{FOO_CLASS}' 'width='{FOO_WIDTH}' height='{FOO_HEIGHT}' type='application/x-shockwave-flash' id='live_embed_player_flash' data='http://www.twitch.tv/widgets/live_embed_player.swf?channel={FOO_CHANNEL}'><param name='wmode' value='opaque' /><param name='allowFullScreen' value='true' /><param name='allowScriptAccess' value='always' /><param name='allowNetworking' value='all' /><param name='movie' value='http://www.twitch.tv/widgets/live_embed_player.swf' /><param name='flashvars' value='hostname=www.twitch.tv&channel={FOO_CHANNEL}&auto_play=false' /></object>');
对整个对象进行格式化查看..我尝试过的所有内容都失败了。通常由于代码从URL读取//作为注释标记。我完全迷失了......
<object
class='{FOO_CLASS}'
width='{FOO_WIDTH}'
height='{FOO_HEIGHT}'
type='application/x-shockwave-flash'
id='live_embed_player_flash'
data='http://www.twitch.tv/widgets/live_embed_player.swf?channel={FOO_CHANNEL}'>
<param
name='wmode'
value='opaque' />
<param
name='allowFullScreen'
value='true' />
<param
name='allowScriptAccess'
value='always' />
<param
name='allowNetworking'
value='all' />
<param
name='movie'
value='http://www.twitch.tv/widgets/live_embed_player.swf' />
<param
name='flashvars'
value='hostname=www.twitch.tv&channel={FOO_CHANNEL}&auto_play=false' />
</object>;
值得注意的是,我已经制作了另一个元素,而且我的基础就是成功。我真的太迷失了,不知道我在做什么..
var ttvbox = document.createElement('div');
$(ttvbox).attr('class', 'abox');
$(ttvbox).attr('id', 'test');
$('#main').append(ttvbox); //inspecting the elements shows it created
答案 0 :(得分:1)
如果您的内部HTML使用单个''
引号,请使用双""
引号。此外,您可以直接在jQuery中附加HTML。在使用append()
之前,无需创建元素。
$( '#main' ).append( "<object> ... html with single 'quotes' ... </object>" );
如果您需要引用<object>
元素,并使用appendTo()
作为
var $object = ( "<object> ... </object>" ).appendTo( $( '#main' ) );