gpt4 book ai didi

JavaScript/JQuery html 元素追加不采用父属性 - 没有 PHP 版本

转载 作者:行者123 更新时间:2023-11-30 15:41:25 25 4
gpt4 key购买 nike

我正在使用 JQuery after 方法将 HTML 行 append 到现有行,但父项的属性未被继承。我做错了什么?

<html>

<head>
<title>AppendTest_min</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
</head>

<body bgcolor="Teal">
<div class="container">
<div class="form-group">
<div class="table-responsive">


<form name="budgetform" id="budgetform">
<table class="table" id="spreadsheet">
<tr id="row1">
<td id="inputtd">
<input type="text" id="descr1" name="descr[]" size="25" class="inputrow" style="font-weight:bold; background-color:Wheat">
<input type="text" id="dueday1" name="dueday[]" style="text-align: center; background-color:Ivory" size="6" class="inputrow">
<button type="button" name="add" id="add1" style="font-weight:bold; background-color:AntiqueWhite; font-size:7px" class="btn_add">+</button>
</td>
</tr>
</table>
</form>


</div>
</div>
</div>
</body>

</html>

<script type="text/javascript">
$(document).ready(function() {



$(document).on('click', '.btn_add', function() {
var button_id = $(this).attr("id");
// alert("HELLO");
// alert(button_id);

// get number part of ID
var nLen = button_id.length
var numsize = nLen - 3;
var nIdx = button_id.substr(3, 2);
var sIdx = nIdx.toString();
// alert(sIdx);

var sRowRef = "#row";
var sAddToThisRowRef = sRowRef + sIdx;

nIdx++;
sIdx = nIdx.toString();
var sRemIdx = "rem" + sIdx;
var sAddIdx = "add" + sIdx;

// var sNewRow = '<tr id="row'+nIdx+'"><td><input type="text" id="descr'+nIdx+'" name="descr[]" placeholder="Enter New Description" size = "25" class="inputrow" style="font-weight:bold; background-color:Wheat"/>';
var sNewRow = '<tr id="row' + nIdx + '"><td><input type="text" id="descr' + nIdx + '" name="descr[]" placeholder="Enter New Description" size = "25" class="inputrow" style="font-weight:bold; background-color:Wheat"/>';
sNewRow = sNewRow + '<input type="text" id="duedate' + nIdx + '" name="dueday[]" placeholder="Date Day" size = "6" class="inputrow"; background-color:Ivory" />';
sNewRow = sNewRow + '<button type="button" name="add" id=' + sAddIdx + ' style="font-weight:bold; background-color:AntiqueWhite; font-size:7px" class="btn_add">+</button></tr>';

$(sAddToThisRowRef).after(sNewRow);

// $(sAddToThisRowRef).append(sNewRow);
var sJustAddedRowRef = sRowRef + sIdx;

});

});
</script>

我没有看到继承的 cellspacing 属性。这个让我难住了一段时间......谢谢!

最佳答案

您看到的行为是因为 HTML compacts multiple whitespaces into one space character .

<input> 之间存在空格和 <button> HTML 中的标记,因此两个输入字段和第一行中的按钮之间会出现一个空格。但是在您的 JavaScript 代码中构建的 HTML 中没有空格,因此后续行中的这些控件之间没有空格。

解决方案是在您的代码构造控件时在控件之间添加一个空格 ( &nbsp; )(请参阅下面的第 2 行和第 3 行):

var sNewRow = '<tr id="row' + nIdx + '"><td><input type="text" id="descr' + nIdx + '" name="descr[]" placeholder="Enter New Description" size = "25" class="inputrow" style="font-weight:bold; background-color:Wheat"/>';
sNewRow = sNewRow + '&nbsp;<input type="text" id="duedate' + nIdx + '" name="dueday[]" placeholder="Date Day" size = "6" class="inputrow"; background-color:Ivory" />';
sNewRow = sNewRow + '&nbsp;<button type="button" name="add" id=' + sAddIdx + ' style="font-weight:bold; background-color:AntiqueWhite; font-size:7px" class="btn_add">+</button></tr>';

关于JavaScript/JQuery html 元素追加不采用父属性 - 没有 PHP 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40750071/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com