我如何获得<object classid =“”> </object>

时间:2011-08-03 18:08:57

标签: jquery mootools

现在只有“可访问的ID”是“dialog1”。鉴于该信息我如何遍历以获得<object classid>

我刚刚意识到我要用Mootools做这个,因为脚本的其余部分都是用它写的。我完全不喜欢Mootools了。

$( '#dialog1')的儿童( 'NOLOCALIZATION')的儿童( '对象')ATTR( '的classid');似乎对我有用。我实际上正在使用MooTools。如何在不冲突的情况下使用此jQuery?

<ul>
<li>
    <a href="#dialog1" rel="vidbox" title="video">watch video</a>

</li>
</ul>

<div id="dialog1" class="window dialog" style="width: 806px; height:504px;">
    <NOLOCALIZATION>
    <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="806" height="504" id="http://www.youtube.com/watch?v=uhi5x7V3WXE">
        <param name="wmode" value="transparent" />
        <param name="movie" value="http://www.youtube.com/watch?v=uhi5x7V3WXE" />
        <param name="allowFullScreen" value="true" />
        <param name="allowscriptaccess" value="always" />
        <param name="FlashVars" value="width=806&height=504&dart_zone_url=&cms_id=AllBusiness&content_id=16009601&auto_start=1&auto_mute=1&playPreroll=0&playtremor=0"/>
    <object type="application/x-shockwave-flash" width="806" height="504" data="http://www.youtube.com/watch?v=uhi5x7V3WXE">
        <param name="wmode" value="transparent" />
        <param name="movie" value="http://www.youtube.com/watch?v=uhi5x7V3WXE" />
        <param name="allowFullScreen" value="true" />
        <param name="allowscriptaccess" value="always" />
        <param name="FlashVars" value="width=806&height=504&dart_zone_url=&auto_start=1&auto_mute=1&playPreroll=0&playtremor=0"/>
    </object>
    </object>
</NOLOCALIZATION>
</div>

2 个答案:

答案 0 :(得分:4)

var classid = $('#dialog1 object').first().attr('classid');

或者我想:

$('#dialog1 object:not(object object)')

$('#dialog1 > nolocalization > object')

虽然我不确定浏览器如何处理<NOLOCALIZATION>元素。

关于需要动态版本的评论之后:

$(dialog).find('object').first().attr('classid');

虽然你真的只需要阅读jQuery API并对你的选择者充满创意。测试出来;看哪有用;看看没有。

答案 1 :(得分:1)

对于mootools:

document.getElements("a[rel=vidbox]").addEvents({
    click: function(e) {
        e.stop();

        var div = this.get("href").replace("#", "");
        var obj = $(div).getElement("object");

        // object may not be extended so normal getAttribute.
        var attr = obj.getAttribute("classid");
        alert(attr);
    }
});

http://jsfiddle.net/dimitar/XUyDU/

请注意,在IE6-IE8中,mootools不会扩展OBJECT元素,因此obj将没有其他可用的.get()或mootools添加的任何其他Element.proto。