<div class="pad" id="test" contenteditable="true" spellcheck="false">
<div id="a0" class="lines" > text1</div>
</div>
コンテンツの編集可能なdivがあり、その中に多くの子divがあり、ユーザーがEnterキーを押して(jQueryを使用して)次の行に移動すると動的に生成されます。子divの例は、上記のid='a0'です。
目的:一意のIDを動的に生成し、これらの動的に生成された子divに割り当てること。
以下は、このタスクを実行するために使用したjQueryです。
function getSelectedNode()
これは、ユーザーが現在入力している行(つまり、子div)の「id」を返す関数です。
var lineCount=0;
lineCount変数の値は、生成された子divの総数と同じです。
$(currentLine).next().attr('id','a'+(++lineCount));
ここには、ユーザーが現在入力している行のIDcurrentLine
が含まれています。Enterキーを押すと、現在のdivの後に新しいdivが自動的に生成され、を使用してアクセスし、を使用して新しいidを割り当てようとします。.next()
.attr('id','a'+(++lineCount))
jQueryのselector句で絶対値を渡すと、新しいIDを割り当てるプロセスがうまく機能します。
$('#a0')。next()。attr('id'、'a' +(++ lineCount));
それ以外の
$(currentLine).next()。attr('id'、'a' +(++ lineCount));
var lineCount = 0;
var currentLine = "#a0";
function getSelectedNode() {
if (document.selection)
return document.selection.createRange().parentElement();
else {
var selection = window.getSelection();
if (selection.rangeCount > 0)
return selection.getRangeAt(0).startContainer.parentNode;
}
}
$('.pad').keypress(function (event) {
var keycode = (event.keyCode ? event.keyCode : event.which);
if (keycode == '13') {
var sn = getSelectedNode();
currentLine = "#" + sn.getAttribute('id');
$(currentLine).next().attr('id', 'a' + (++lineCount));
}
});