我有一个<li>
元素,其中文本是从控制器中追加的。如果文本是:“电子邮件已经存在。”我想追加一个链接,否则,我不想追加任何东西。
我在jQuery中有以下函数,但是它不能工作:
if ($("#validat ul li").indexOf("Email") >= 0)
{
$("#validat ul li").append("<a href='@Url.Action("ForgotPassword","Auth")'>Forgot password?</a>");
}
我遗漏了什么?
发布于 2017-03-11 09:22:44
使用.each()
方法。详细信息在代码段中有注释。
片段
/* 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>
https://stackoverflow.com/questions/42738187
复制