jquery
2017-03-11 74 views 0 likes 
0

我有一個<li>元素,其中文本是從控制器中追加的。如果文本是:「電子郵件已存在」。我想附加一個鏈接,否則,我不想追加任何東西。確定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:包含 – 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

相關問題