【发布时间】:2012-05-25 14:17:07
【问题描述】:
我正在尝试通过单击更改 <asp:linkbutton 中的文本。该代码在 IE 和 firefox 中似乎可以正常工作,但在 Chrome 中无法正常工作。
这是我正在使用的代码
$('<span></span>', {
text: icon,
class: 'WebFonts'
}).appendTo('#' + btn);
btn 是一个通过 onclientclick 函数传入的参数。就像我说的,这是在 IE 和 Firefox 中工作的。这是 webfont css 类,当我不尝试在 javascript 中附加它时,chrome 会呈现它。
@font-face {
font-family: 'WebSymbolsRegular';
src: url('/font/fonts/websymbols/websymbols-regular-webfont.eot');
src: url('/font/fonts/websymbols/websymbols-regular-webfont.eot?#iefix') format('embedded-opentype'),
url('/font/fonts/websymbols/websymbols-regular-webfont.woff') format('woff'),
url('/font/fonts/websymbols/websymbols-regular-webfont.ttf') format('truetype'),
url('/font/fonts/websymbols/websymbols-regular-webfont.svg#WebSymbolsRegular') format('svg');
font-weight: normal;
font-style: normal;
}
.WebFonts {font-family:WebSymbolsRegular}
非常感谢一些帮助 谢谢 香农
~~~~~~~~~~~~~ 这是您的要求
function checkDisableButton(btn, parmText, icon) {
var mbtn=$('#' + btn)
mbtn.attr('disabled', '');
mbtn.addClass("buttonPad buttonProcessing button");
mbtn.text(parmText + " | ")
$('<span></span>', {
text: icon,
class: 'WebFonts'
}).appendTo('#' + btn);
}
这就是它的名字
<asp:LinkButton ID="lbSave" runat="server" CssClass="ButtonPrimary button" Text="Save"
OnClientClick="checkDisableButton(this.id, 'PROCESSING', 'V');" />
这是点击 asp:linkbutton 时 Chrome 中显示的 id
<a onclick="checkDisableButton(this.id, 'PROCESSING', 'V');" id="ctl00_ContentPlaceHolder1_lbSave" class="ButtonPrimary button buttonPad buttonProcessing" href="javascript:__doPostBack('ctl00$ContentPlaceHolder1$lbSave','')" disabled="disabled">PROCESSING | <span class="WebFonts">V</span></a>
你会注意到代码中有 span class="WebFonts"
这是点击前的代码
<a onclick="checkDisableButton(this.id, 'PROCESSING', 'V');" id="ctl00_ContentPlaceHolder1_lbSave" class="ButtonPrimary button" href="javascript:__doPostBack('ctl00$ContentPlaceHolder1$lbSave','')">Save</a>
所以看起来跨度标签正在被放入......它只是没有显示...... 您还需要哪些其他信息来帮助解决问题?
~~~~~~~~~ 这是更多信息..如果我使用它而不是 jquery... webfonts 出现
document.getElementById(btn).innerHTML = parmText + '<span class=buttonPad>|</span><span class=WebFonts>' + icon + '</span>';
document.getElementById(btn).className = 'buttonProcessing button ';
只是更多信息.. 不确定我是否能到达任何地方
【问题讨论】:
-
你能告诉我们
onClientClick以及上面运行jQuery的函数吗? -
哪里不工作了?你忘了实际包括你“像我说的”的部分。
-
你能添加html之前的样子和你想要的之后吗?
-
我可能有点落后于 jQuery 选择器上下文,但第二个参数不应该在对象或查询字符串上吗?另外我推测“”应该是“span”
-
@MarcB 编辑失误 ;-) 已修复