javascript
  • jquery
  • html
  • filter
  • selector
  • 2014-05-13 49 views 0 likes 
    0

    我有一個pictureeditor和一個HTML編輯器。當我更改piceditor中的子行值時,它應該更新html編輯器中的alt屬性。如何在整個字符串上使用過濾器?

    我使用:

    function refreshEditorAlt(pic,newalt){ 
        cnt=getEditorContent(); 
        var newcnt = cnt.replace($(cnt).filter("img[src$='"+pic+"']").attr('alt'), newalt); 
        setEditorContent(newcnt); 
    } 
    

    它工作直到在HTML編輯器的源極(CNT變量)的IMG標籤不被例如封閉div標籤。

    //works 
    <img alt="pic1" src="http://tools.huber-verlag.de/data/18139/1.jpg" /> 
    //does not work 
    <div><img alt="pic1" src="http://tools.huber-verlag.de/data/18139/1.jpg" /></div> 
    

    我是舒爾$(cnt).filter看起來在整個cnt。

    所以問題是,如何過濾一個標籤的屬性,這是一個字符串中的somwhere而不是在根中,當被視爲DOM時?

    回答

    1

    .filterfilters jQuery對象中包裝(選定)的實際元素。深下去,你需要使用.find DOM樹:

    $(cnt).find("img[src$='"+pic+"']"). ... 
    

    或更短:

    $("img[src$='"+pic+"']", cnt). ... 
    
    +0

    首先我也試着找到,但沒有奏效。也許如果你能告訴我如何使用find來獲得cnt字符串中第三個img的alt屬性,通過給出src屬性。 – user3628218

    相關問題