use*_*859 5 html css jquery button
我有一个带有按钮的h1标签和一些正确的文本,只有在运行时用户操作后才能使用CSS和jQuery显示.当显示按钮时,我想在h1旁边放置文本.
问题是,当我添加文本时,我丢失了按钮.
HTML就像这样......
<h1>
<input type="button" value="Open Document In New Window" id="newTabButton" class="tabButtonHidden">
</h1>
Run Code Online (Sandbox Code Playgroud)
CSS看起来像这样......
.tabButtonHidden {
visibility: hidden;
}
.tabButtonVisible {
visibility:visible;
}
#newTabButton {
background: rgba(216, 216, 216, 6);
}
h1 {
font: 100% Arial, Arial, Helvetica, sans-serif;
font-size: 1.25em;
font-weight:500;
background: rgba(218, 235, 245, 6);
margin: 0px;
}
Run Code Online (Sandbox Code Playgroud)
jQuery看起来像这样......
if ($("#newTabButton").hasClass("tabButtonHidden")) {
$('#newTabButton').removeClass("tabButtonHidden").addClass("tabButtonVisible");
}
$('h1').text('Now is the time for all good men...');
Run Code Online (Sandbox Code Playgroud)
jQuery中的最后一行将文本写入按钮通常所在的位置.如果我删除最后一行,更改html以包含如下文本,jquery完美地工作,当然除了文本是静态的并且始终可见...
<h1>
<input type="button" value="Open Document In New Window" id="newTabButton" class="tabButtonHidden">Now is the time for all good men...
</h1>
Run Code Online (Sandbox Code Playgroud)
我错过了什么?我需要更改文本并使其和按钮全部动态可见.
谢谢你的帮助.
Eri*_*tis 11
用append()
而不是text()
http://jsfiddle.net/efortis/QSEfv/
$('h1').append('Now is the time for all good men...');?
Run Code Online (Sandbox Code Playgroud)
编辑
要防止多次追加,请附加span
到h1
并使用text()
请参阅:http://jsfiddle.net/efortis/QSEfv/2/
$('h1').append('<span>Now is the time for all good men...</span>');
$('input').on('click', function () {
$('h1 span').text('NEW...');
});?
Run Code Online (Sandbox Code Playgroud)