2017-03-11 10 views
0

コントローラからテキストが追加される<li>要素があります。テキストが "Email already exists。"の場合私はそうでなければリンクを追加したい、私は何も追加したくない。li要素に特定のテキストが含まれているかどうかを確認

私はjQueryのでは、以下の機能を持っていますが、それだけでは動作しません:私は

if ($("#validat ul li").indexOf("Email") >= 0) 
{ 
    $("#validat ul li").append("<a href='@Url.Action("ForgotPassword","Auth")'>Forgot password?</a>"); 
} 

何をしないのですか?

+1

$( "#validat UL李は")のコレクションである可能性があります。あなたはどちらを指示する必要があります。次に、.text()を使ってテキストを取得するか、または単にliを使用します:contains – mplungjan

答えて

0

.each()メソッドを使用してください。詳細はスニペットでコメントされています。

SNIPPET

/* Each list item do this... */ 
 
$('#validat ul li').each(function() { 
 

 
    /* If the <li> has text content of 
 
    || "You got Mail"... 
 
    */ 
 
    if ($(this).text() === "You got Mail") { 
 
    /* append() a link within that <li> is 
 
    || the last child 
 
    */ 
 
    $(this).append("<a href='#somewhere'>Click Here</a>"); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="validat"> 
 
    <ul> 
 
    <li>You got Mail</li> 
 
    <li>You got Mail</li> 
 
    <li>You got Mail</li> 
 
    <li></li> 
 
    <li>You got Mail</li> 
 
    <li>You got Mail</li> 
 
    <li></li> 
 
    <li>You got Mail</li> 
 
    <li>You got Mail</li> 
 
    <li>You got Mail</li> 
 
    <li></li> 
 
    <li>You got Mail</li> 
 
    <li></li> 
 
    <li></li> 
 
    <li>You got Mail</li> 
 
    <li>You got Mail</li> 
 
    <li></li> 
 
    <li></li> 
 
    <li></li> 
 
    <li></li> 
 
    <li>You got Mail</li> 
 
    <li>You got Mail</li> 
 
    <li></li> 
 
    <li>You got Mail</li> 
 
    </ul>

+0

まさに!ありがとうございます:-) –

+0

@JeppeChristensen素晴らしい!どういたしまして!ハッピーコーディング。 – zer00ne

関連する問題