我有一个班级,比方说.check-status
,这是一个包含超链接的文本。
我在点击时有一个事件监听器,它应该用变量statusResponse替换该文本,然后说'再次检查'。所以它会说'你的状态正在等待中。再检查一遍';但“再次检查”需要是原始超链接,“您的状态待定”应该是常规文本。
我知道如何使用以下内容:
$('.check-status').text(statusResponse).append(' Check again')
但是这给了我一切作为超链接,我只想要'再次检查'部分是超链接。
如何在不创建新div等的情况下实现这一目标?
谢谢!
答案 0 :(得分:2)
由于您希望超链接仅位于完整文本的一部分上,因此您只需要为该文本添加锚元素,而完整文本应使用您的类格式化。所以继续这样:
<强> HTML 强>
var statusResponse = "Your status is pending. ";
var checkAgain = "Check again."
$('.check-status>a').before(statusResponse).text(checkAgain);
<强>的JavaScript 强>
public ActionResult AnswerQuestions(int ID, Response model)
{
model.Answers = model.Answers.Where(a => !String.IsNullOrEmpty(a.TextAnswer) || a.RatingAnswer.HasValue).ToList();
model.UserID = User.Identity.GetUserId();
model.QuestionnaireID = ID;
db.Responses.Add(model);
db.SaveChanges();
return RedirectToAction("Details", "Responses", new { id = ID });
}
以下是fiddle作为演示。
答案 1 :(得分:1)
var statusResponse = "Your status is pending.",
customFlag = false;
$(".custom-btn").click(function(){
if(!customFlag){
customFlag = true;
var checkStatus = $(".check-status");
checkStatus.before(statusResponse + " ").text("Check again");
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="custom-btn">Click me</button>
<br/><br/>
<a class="check-status" href="#">Check your status.</a>
&#13;
这是做什么的?
$(".check-status")
,所以最好将它放在名为checkStatus
的var中。checkStatus
内的文字放在 checkStatus
之前和之外。statusResponse
内的文字现在位于checkStatus
对象内。