语法问题.createElement('object')和很多参数

时间:2013-08-03 08:39:52

标签: javascript jquery syntax createelement

如果您需要更多信息,请告诉我们。

我正试图以这种方式用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

1 个答案:

答案 0 :(得分:1)

如果您的内部HTML使用单个''引号,请使用双""引号。此外,您可以直接在jQuery中附加HTML。在使用append()之前,无需创建元素

$( '#main' ).append( "<object> ... html with single 'quotes' ... </object>" );

如果您需要引用<object>元素,并使用appendTo()作为

var $object = ( "<object> ... </object>" ).appendTo( $( '#main' ) );