javascript
  • jquery
  • 2011-12-22 61 views 2 likes 
    2

    我對jQuery非常陌生,並被特殊問題困擾。我使用下面的代碼動態添加2個複選框字段的屏幕形式:刪除多個字段和標籤

    var summon_search = "<br><br><br><label for='summon_search'>Search this resource from compatible products*</label><input type='checkbox' id='summon_search' >"; 
    var summon_link = "<br><br><label for='summon_link'>Link direct from content items in compatible products*</label><input type='checkbox' name='summon_link'>"; 
    $(summon_search+summon_link).insertAfter("#jstor_selection"); 
    

    不過,我取得了有限的成功時,我想刪除這些字段和標籤(這依賴於另外一個值),並取代它們新領域。下面的代碼顯示了我迄今爲止的最佳嘗試。它似乎刪除標籤和第一個字段,但由於某種原因,最後一個字段仍然存在。有人能告訴我們他們是否可以發現我做錯了什麼,或者提供一個更好的例子來處理這個問題?

    if ($("#summon_search").length > 0) { 
        //Removal of Label and Field (Attempted) 
        $("label[for=summon_search]").remove(); 
        $("label[for=summon_link]").remove(); 
        $("#summon_search").remove(); 
        $("#summon_link").remove(); 
    

    任何反饋非常感謝。

    回答

    0

    name='summon_link'更改爲id='summon_link',因爲#summon_link需要一個id。

    0

    ,如果你看到你的代碼summon_link變量給它一個ID,而不是名稱,如在summon_search可變

     
    
    name=summon_link change it to id='summon_link' 
     
    
    0

    ,如果你有意與ID爲「jstor_selection」對象之後,再添加這些HTML字符串,可以像這樣使用

    $("#jstor_selection").append(summon_search+summon_link); 
    
    0

    您應該給報價中的for=值。

    編輯:刪除多餘的<br>,通常,建議不要使用<br>

    $("label[for='summon_search']").prev('br').remove() 
    $("label[for='summon_link']").prev('br').remove() 
    

    $("label[for='summon_search']").remove(); 
    $("label[for='summon_link']").remove(); 
    

    也已給出name

    <input type='checkbox' name='summon_link'> 
    

    的suman_link輸入元素或者將其更改爲

    <input type='checkbox' id='summon_link'/> 
    

    $("#summon_link").remove(); 
    

    $("input[name='summon_link']").remove(); 
    
    +0

    感謝大家的有用的信息 - 一切似乎是現在的工作 - 只有輕微的問題我已經是當我刪除的元素 - 空間留在頁面上 - 無論如何,當字段被刪除時拉起現有的表單?但非常感謝你們所有 – 2011-12-22 13:22:04

    +0

    那是因爲你有很多
    之前的標籤。 ('br')。remove()和$(「label [for ='summon_link']」)。prev('br')可以通過刪除$(「label [for ='summon_search']」 ).remove()在執行$(「label [for ='summon_search']」)。remove()和$(「label [for ='summon_link']」)。)。remove()...更新代碼 – 2011-12-22 14:17:44

    +0

    更好的是首先不要(錯誤地)使用'
    '。 – RoToRa 2011-12-22 14:57:32

    相關問題