【发布时间】:2016-11-06 20:24:40
【问题描述】:
我有一个可编辑的 HTML 表格。然后我有两个按钮,用于更改 td 内容的填充。
我的要求是
当 td 内容内边距达到 20px 时,内容字体粗细应为粗体。当它达到40px(第二次点击)字体样式应该是正常的,当它达到60px(第三次点击)字体颜色应该是灰色的。
编辑前运行良好,但编辑后就不行了。
$(function () {
$("td.cat").dblclick(function () {
var OriginalContent = $(this).text();
$(this).addClass("cellEditing1")
$(this).html("<input id='value' type='text' value='" + OriginalContent + "' />");
})
})
$(document).ready(function () {
$("tr").on("click", function () {
$(this).toggleClass('selected1');
});
});
jQuery(document).ready(function () {
$(".cat").on("click", function () {
$(this).toggleClass('selected');
});
$("#key").click(function () {
var sl = parseInt($(".selected").css("padding-left"));
sl = sl >= 100 ? "100" : "+=20";
$(".selected").css({
"padding-left": sl
});
$(".cat.selected").each(function () {
var paddingLeft = parseInt($(this).css("cellEditing2"));
var paddingLeft = parseInt($(this).css("padding-left"));
var isPaddingLeft20 = paddingLeft === 21;
var isPaddingLeft40 = paddingLeft === 41;
if (isPaddingLeft20) $(this).css("font-weight", "bold");
else if (isPaddingLeft40) $(this).css("font-style", "italic");
else $(this).css("color", "grey");
});
});
$("#key1").click(function () {
$(".selected").css({
"padding-left": "-=" + "20"
});
$(".cat.selected").each(function () {
var paddingLeft = parseInt($(this).css("padding-left"));
var PaddingLeft20 = paddingLeft === 21;
var PaddingLeft40 = paddingLeft === 41;
if (PaddingLeft20) $(this).css("font-weight", "bold");
else if (isPaddingLeft40) $(this).css("font-style", "normal");
else $(this).css("color", "grey");
});
});
});
.selected {
background-color: lightblue;
}
.editableTable {
position:static;
width:100%;
border-collapse:collapse;
}
.editableTable td {
border: 1px solid;
height:17px;
.editableTable .cellEditing1 input[type=text] {
width: 100%;
border: none;
text-align: left;
background-color: transparent;
}
.editableTable .cellEditing1 {
padding: 0;
height: 1px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="key">left</button>
<button id="key1">right</button>
<table class="editableTable">
<tr>
<td class="cat">rose</td>
<td class="cat">red</td>
</tr>
<tr>
<td class="cat">cash</td>
<td class="cat">black</td>
</tr>
</table>
【问题讨论】:
标签: javascript html css