2013-12-13 58 views
-2
function getAccount() { 
    if ($("#mLogIn").has('<input id="mMail" class="bg-whitesmoke" type="email" placeholder="E-mail-Adresse" />')) { 
     $("#mLogIn").remove('<input id="mMail" class="bg-whitesmoke" type="email" placeholder="E-mail-Adresse" />'); 
    } 
    else { 
     $('<input id="mMail" class="bg-whitesmoke" type="email" placeholder="E-mail-Adresse" />').insertAfter('#mUser'); 
    }; 
}; 

這是我的職責。我不知道爲什麼它不起作用?你有什麼線索嗎?的jQuery沒有開始功能

+1

我不知道這是怎麼.has''工作。您必須傳遞選擇器或DOM元素。 – elclanrs

+7

'它不工作'是永遠不夠的信息。爲什麼它不起作用?你有錯誤嗎?應該發生什麼?會發生什麼? –

+0

不,它什麼都不做。我點擊一個鏈接,沒有任何反應。 –

回答

0

你打電話給那個功能嗎?

放:

alert ('before function'); 
    alert ('after function'); 

,以確保你沒有JavaScript錯誤

+0

此外,爲了確保一切正常,您只需打開控制檯即可。這不會回答Q,因爲它不是'.has()'的意思。 –

0

正如@elclanrs說,你的.has用法是錯誤的:它不希望任何一個選擇器或DOM元素;你正在傳遞一個html字符串。相反,使用此:

function getAccount() { 
    if ($("#mLogIn").has('#mMail').length) { 
     $("#mMail").remove(); 
    } else { 
     $('<input id="mMail" class="bg-whitesmoke" type="email" placeholder="E-mail-Adresse" />').insertAfter('#mUser'); 
    } 
} 
+0

您可能想在'$(「#mMail」)中使用'#'。remove();' –

0

.has函數將搜索選擇器而不是完整的字符串。取而代之的

.has('<input id="mMail" class="bg-whitesmoke" type="email" placeholder="E-mail-Adresse" />')

你應該使用.has("#mMail")