mar*_*arc 6 html javascript css jquery
我正在使用 JQuery 动态地将新行添加到表中。
我希望在表格单元格内有一个占位符,当用户单击输入文本时该占位符会消失。
我试图制作可以做到这一点的CSS。
这是 JQuery:
$("#addbutton").click( function(){
$('#searchresults > tbody:last-child').append('<tr><td> <div contentEditable="true" data-text="Enter Name"></div> </td> \
<td><div contentEditable="true" data-text="Enter Description"> </div> </td>
</tr>')
Run Code Online (Sandbox Code Playgroud)
这是CSS:
<style>
[contentEditable=true]:empty:not(:focus):before{
content:attr(data-text)
}
</style>
Run Code Online (Sandbox Code Playgroud)
占位符文本未显示。
有什么建议 ?
我已经更新了问题,以便新行正确拼接在内部字符串中,但.append('')我仍然无法显示文本。我在 El Capitan 上使用 Safari。新行已添加且可编辑,但文本不存在!
行被添加并且也可以编辑。只是文字不可见。
我看到的唯一问题是新行:当您需要继续下一行时,您需要转义新行字符,如下所示:
var str = '11111\
llllllll';
Run Code Online (Sandbox Code Playgroud)
片段:
var str = '11111\
llllllll';
Run Code Online (Sandbox Code Playgroud)
$(function () {
$("#addbutton").click(function() {
$('#searchresults > tbody:last-child').append('<tr><td><div contentEditable="true" data-text="Enter Name"></div></td>\
<td><div contentEditable="true" data-text="Enter Description"></div></td>\
</tr>');
});
});Run Code Online (Sandbox Code Playgroud)
[contentEditable=true]:empty:not(:focus):before{
content:attr(data-text)
}Run Code Online (Sandbox Code Playgroud)