我正在尝试编辑div的文本,但是当我使用我的函数来更新rowcount时,每次文本都会完全消失。如果你能解释原因,那会很好。 提前谢谢。
我的更新功能:
var rowCountF = $('#tablef tr').length;
var rowCountV = $('#tablev tr').length;
var ftext = "Teilnehmer (" + String(rowCountF) + ")";
var vtext = "Teilnehmer (" + String(rowCountV) + ")";
$("#divf").html(ftext);
$("#divv").html(vtext);
我的div层:
<div id="divf"class="tableheader"> <h2>Teilnehmer</h2> </div>
divf代码:
<div id="divf"class="tableheader"> <h2>Teilnehmer</h2> </div>
答案 0 :(得分:6)
您实际上是用文本替换div
本身的内容。这意味着标题消失,只有纯文本。
您可能想要替换标题内容:
$("#divf h2").html(ftext);
$("#divv h2").html(vtext);
这将选择h2
内的divs
元素,因此只会更新标题内的文字。
结果如下所示:
<div id="divf"class="tableheader"> <h2>Teilnehmer (987)</h2> </div>
<div id="divf"class="tableheader"> <h2>Teilnehmer (123)</h2> </div>
答案 1 :(得分:0)
.html()
设置 HTML,意味着它会替换当前存在的任何内容。如果你想添加到HTML,你需要将HTML设置为已经存在的加上你要添加的内容,如下所示:
var rowCountF = $('#tablef tr').length;
var rowCountV = $('#tablev tr').length;
var ftext = "Teilnehmer (" + rowCountF + ")";
var vtext = "Teilnehmer (" + rowCountV + ")";
//Get already-existing HTML
var divfHtml = $("#divf").html();
var divvHtml = $("#divv").html();
//Set the new HTML to the existing + the new text
$("#divf").html(divfHtml + ftext);
$("#divv").html(divvHtml + vtext);
如果您只想替换标题,请将<h2>
定位为Martin Zikmund中建议的his answer。
答案 2 :(得分:0)
你需要引用div的h2。使用.html()
将替换#divf中的所有html,在这种情况下意味着它将替换h2
$("#divf h2").html(ftext);
$("#divv h2").html(vtext);