JS删除标签字体样式 - MVC3
问题描述:
我有一个标签,显示文本框中使用的字符数。当第一次加载页面时,它看起来很好,因为它很小且以斜体显示。我正在使用Bootstrap来创建样式。JS删除标签字体样式 - MVC3
<label id="lblCharactersRemaining"><small><em>0 Out Of 255 Characters</em></small></label>
我的JavaScript使用用户输入的字符数检查并更新此标签中的文本,这也可以正常工作。
问题是,每次JS激活样式时都会回到默认的MVC类型。我怎样才能确保当JS执行它不会删除Bootstrap样式?
我的JS是:
<script type="text/javascript">
var maximumLength = '@System.Configuration.ConfigurationManager.AppSettings["MaximumTextBoxLength"]';
if (document.getElementById("ObjectTextBox")) {
var txtbox = document.getElementById("ObjectTextBox");
txtbox.onkeyup = function() { IsMaxLength(this); };
}
function IsMaxLength(objTxtCtrl) {
if (objTxtCtrl.getAttribute && objTxtCtrl.value.length > maximumLength) {
objTxtCtrl.value = objTxtCtrl.value.substring(0, maximumLength);
}
if (document.all) {
document.getElementById('lblCharactersRemaining').innerText = (objTxtCtrl.value.length) + ' Out Of ' + maximumLength + ' Characters';
}
else {
document.getElementById('lblCharactersRemaining').textContent = (objTxtCtrl.value.length) + ' Out Of ' + maximumLength + ' Characters';
}
if (objTxtCtrl.value.length == 0) {
document.getElementById('lblCharactersRemaining').textContent = '0 Out Of ' + maximumLength;
}
}
</script>
答
尝试:
function IsMaxLength(objTxtCtrl) {
if (objTxtCtrl.getAttribute && objTxtCtrl.value.length > maximumLength) {
objTxtCtrl.value = objTxtCtrl.value.substring(0, maximumLength);
}
if (document.all) {
$('#lblCharactersRemaining').html('<small><em>' + objTxtCtrl.value.length + ' Out Of ' + maximumLength + ' Characters</em></small>');
}
else {
$('#lblCharactersRemaining').html('<small><em>' + objTxtCtrl.value.length + ' Out Of ' + maximumLength + ' Characters</em></small>');
}
if (objTxtCtrl.value.length == 0) {
$('#lblCharactersRemaining').html('<small><em>0 Out Of ' + maximumLength + '</em></small>');
}
}
启动该功能时,它都会删除标签 'small
' 和 'em
',所以只需添加他们。
更新:PS:使用jquery语言...
UPDATE COMMENT AFTER:
BOOTPLY:http://bootply.com/106485
CODE:
JS:
$('button.jquery').on('click', function(){
$('#lblCharactersRemaining').html('<small><em>0 Out Of 85200</em></small>');
});
$('button.nojquery').on('click', function(){
document.getElementById('lblCharactersRemaining').innerHTML = '<small><em>0 Out Of 666</em></small>';
});
HTML:
<label id="lblCharactersRemaining"><small><em>0 Out Of 255 Characters</em></small></label>
<button class="jquery">Change label with jquery</button>
<button class="nojquery">Change label without jquery syntax</button>
当我已经试过了它输出的文本标签。所以它显示为'12 Out of 255'在页面上。 – MattR
对不起,我更新了:我用jquery(...) – pbenard
仍然没有快乐。当我将脚本更改为上述内容时,它现在不执行任何操作。我可以错过对Jquery的引用吗?我从来没有(明知)之前使用过它。 – MattR