2

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

我正在尝试以这种方式使用 jquery 动态创建一个“对象”元素 - 此代码位于所有数据都可用的函数/范围内,但我不知道如何在文档上创建对象......如果我只是将行粘贴为原始 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
4

1 回答 1

1

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

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

以防万一,您需要引用<object>元素以及appendTo()用作

var $object = ( "<object> ... </object>" ).appendTo( $( '#main' ) );
于 2013-08-03T08:45:31.153 回答