我需要替换文字&#34;表格+验证+失败。+你+不能+提交+此+记录。&#34;在<div class="alert alert-error">
内使用&#34;您没有资格进行此次购买。&#34;
<div class="alert alert-error">
<button class="close" data-dismiss="alert">×</button>
Form+validation+failed.+You+cannot+submit+this+record.
</div>
它是一个动态代码,我想只替换该文本而不是该类中的其他文本,因为错误文本将根据页面的行为而有所不同。有什么方法我只能找到这个字符串&#34;表单+验证+失败+您+不能+ +提交本+记录&#34;并使用jquery或java脚本将其替换为自定义文本消息。
答案 0 :(得分:1)
您可以使用getElementsByClassName
获取所有alert alert-error
个班级。然后,您可以迭代getElementsByClassName
返回的HTMLCollection
。使用replace更新消息,请参阅以下内容:
window.onload = function() {
var errors = document.getElementsByClassName("alert alert-error")
for (var i = 0; i < errors.length; i++) {
var div = errors.item(i)
div.innerHTML = div.innerHTML.replace("Form+validation+failed.+You+cannot+submit+this+record.", "User Authentication failed.")
}
}
<div class="alert alert-error">
<button class="close" data-dismiss="alert">×</button>
Form+validation+failed.+You+cannot+submit+this+record.
</div>
答案 1 :(得分:0)
这是一件很脏的事情,但这可以满足您的需求。
$('div[class="alert alert-error"]:contains("Form+validation+failed.+You+cannot+submit+this+record.")')
.html('<button class="close" data-dismiss="alert">×</button>You are not eligible to make this purchase.');
提示: 如果您认为不会与其他人发生冲突,您也可以使用$(.alert-error:contains("Form+validation+failed.+You+cannot+submit+this+record."))
选择div
DOM元素
代码将首先选择<div class="alert alert-error">
并检查给定内容。如果找到匹配项,它将使用div
内传递的内容替换所选.html()
内的完整HTML。现在,您必须传递文本旁边的按钮的HTML,因为没有办法(我不知道)只能在div
中选择您想要的字符串。如果字符串在包装器中,那么使用.replace()
选择和替换它会更容易和更好。
或许,你应该看看给出这个“动态内容”的代码。您可以轻松地在“动态内容”周围添加类似<span id="dynamic"></span>
的包装器,然后再将其传递给此处。如果你能做到这一点,你可以轻松地做一些像
$('#dynamic:contains("Form+validation+failed.+You+cannot+submit+this+record.")').text('You are not eligible to make this purchase.');
答案 2 :(得分:-1)
如果您使用span
标记包装文本,则可以轻松完成替换。试试:
<div class="alert alert-error">
<button class="close" data-dismiss="alert">×</button>
<span id="text_to_replace">Form+validation+failed.+You+cannot+submit+this+record.</span>
</div>
要用新的文本替换现有文本,您应该使用它:
$('#text_to_replace').html('You are not eligible to make this purchase.');
答案 3 :(得分:-1)
以跨度或其他控件呈现警报。
因为把你的文字放在div中就是编程的床上练习。
以下是Fiddle。
检查小提琴你会得到答案。
$( ".close" ).click(function() {
$(".message").html("Your Alert Message");
});