有一种简单的方法可以在JavaScript中获取一串html并删除html吗?
我table.row.add()使用此代码使用方法在DataTables 1.10.2上动态添加新行:
table.row.add([
'',
name,
target_l,
details,
panel.html()
]).draw();
Run Code Online (Sandbox Code Playgroud)
我制作了这个加价:
<tr role="row" class="odd">
<th>1 .</th>
<td class="sorting_1">ID Fee</td>
<td>All students</td>
<td></td>
<td>
<button class="btn btn-null btn-xs" onclick="_remove(59, 'ID Fee')">
<span class="fui-cross"></span>
</button>
<button class="btn btn-null btn-xs" onclick="_edit(59, 'ID Fee', '', '')">
<span class="icon-pencil"></span>
</button>
</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
我想要做的是将data-id(和其他数据)属性添加到新添加的tr标签(在插入行中或之后),并使其像这样:
<tr data-id="59" role="row" class="odd">
Run Code Online (Sandbox Code Playgroud)
我已经设法使用代码获取新添加的行的索引,并返回最后一行索引:
var i = table.row.add([
'',
name,
target_l,
details,
panel.html()
]).index();
Run Code Online (Sandbox Code Playgroud)
并尝试执行以下操作以使用该索引添加data-id属性:
var id = $("#department_id").val();
table.row(i).attr("data-id", …Run Code Online (Sandbox Code Playgroud) 我正在创建一个html节点jQuery(样本是标签,<input>但可以是任何类型):
var x = $("<input>");
Run Code Online (Sandbox Code Playgroud)
然后我通过一系列.prop()函数添加它的属性:
x.prop("id", ...).prop("class", ...);
Run Code Online (Sandbox Code Playgroud)
现在某个插件不支持JQuery对象,而是HTML字符串,所以我通过这个调用插件:
var n = plugin.method1(x.html())
Run Code Online (Sandbox Code Playgroud)
我虽然会工作但.html()返回一个空字符串.虽然有人说如果我先将它附加在DOM树上,它将被解决.如何在不首先在DOM树中附加HTML字符串的情况下获取其HTML字符串?
我们通过以下方式删除某个html元素的子元素JQuery:
$(PARENT_SELECTOR).children(CHILD_SELECTOR).remove()
Run Code Online (Sandbox Code Playgroud)
但是我怎样才能使其表现得像.splice()方法(例如,在树上删除DOM给定的索引和偏移量)。例如:
删除最后三个孩子。在这里我很可能会使用:
for(var x = 0; x < 3; x++) {
$(PARENT_SELECTOR).children().last().remove()
}
Run Code Online (Sandbox Code Playgroud)删除第四至第六个孩子。这里我将使用:
$(PARENT_SELECTOR).children().eq(3).remove()
$(PARENT_SELECTOR).children().eq(4).remove()
$(PARENT_SELECTOR).children().eq(5).remove()
Run Code Online (Sandbox Code Playgroud)从第 5 个子元素开始删除 5 个元素(这是我想要的.splice()类似函数的真实场景JQuery):
var starting = 5,
index = 5
// I haven't tested this yet.
for(var x = index + starting; x > index; x--) {
$(PARENT_SELECTOR).children().eq(x - 1).remove()
}
Run Code Online (Sandbox Code Playgroud)这样的例子不胜枚举……我可以为每个场景制作自己的具体案例脚本[,这很简单]。我只是想知道JQuery它是否已经有这样的自己的功能——它会让我的脚本更短,并且不会让我重复编写类似的代码。
我试图通过压缩String我通过 WebSocket 从 Springboot 应用程序发送到浏览器客户端的 JSON (这是在permessage-deflateWebSocket 扩展之上)来减少带宽消耗。此场景使用以下String长度为 383 个字符的JSON :
{"headers":{},"body":{"message":{"errors":{"password":"Password length must be at least 8 characters.","retype":"Retype Password cannot be null.","username":"Username length must be between 6 to 64 characters."},"links":[],"success":false,"target":{"password":"","retype":"","username":""}},"target":"/user/session/signup"},"statusCode":"UNPROCESSABLE_ENTITY","statusCodeValue":422}
Run Code Online (Sandbox Code Playgroud)
为了进行基准测试,我从服务器发送压缩和未压缩的字符串,如下所示:
Object response = …,
SimpMessageHeaderAccessor simpHeaderAccessor =
SimpMessageHeaderAccessor.create(SimpMessageType.MESSAGE);
simpHeaderAccessor.setSessionId(sessionId);
simpHeaderAccessor.setContentType(new MimeType("application", "json",
StandardCharsets.UTF_8));
simpHeaderAccessor.setLeaveMutable(true);
// Sends the uncompressed message.
messagingTemplate.convertAndSendToUser(sessionId, uri, response,
simpHeaderAccessor.getMessageHeaders());
ObjectMapper mapper = new ObjectMapper();
String jsonString;
try {
jsonString = mapper.writeValueAsString(response);
}
catch(JsonProcessingException e) {
jsonString = response.toString(); …Run Code Online (Sandbox Code Playgroud) 我通过 Apache POI 成功生成了 Excel 文件。问题是,当我尝试打印它时,最后 3 列不在可打印区域内。例如,工作表具有 A 至 L 列,但打印时仅适合 A 列。用户在打印之前总是将打印缩放比例从“无缩放”更改为“在一页上调整所有列”。
如何修改 Excel 文件,使所有列都适合可打印区域,并且用户无需在每次打印时更改缩放比例。
我正在使用Bootstrap Progress Bar(PB)来显示进程进度.我的流程是一个AJAX流程.理想情况下,后台任务应该立即向进度条报告后台进程的百分比状态以显示实时进度指示("100个任务中的1个已完成" ...... "100个任务中的99个已完成"),后台任务仅限于发送一个状态报告.那是在AJAX调用结束时.
所以我决定改为循环PB.因此,如果它达到100%,它将再次循环到0%,直到AJAX任务完成并将结束循环.Bootstrap的问题是100%到0%之间的动画.
在我的jfiddle中,当PB达到100%时,它应该立即为0%.但它不是立即闪烁到0%,而是动画过程.因此,只有第一个循环变为0%到100%,后续循环变为25%到100%,再也不会变为0%.
我虽然动画是因为.activePB 的类.所以我试图在100%到1%之间删除它:
var increment = function(value) {
if(x > 100) {
x = 0;
progressBar.parent().removeClass("active");
}
else if(x == 1) {
progressBar.parent().addClass("active");
}
progressBar
.attr('aria-valuenow', value % 100)
.css('width', (value % 100) + '%')
.text("");
};
Run Code Online (Sandbox Code Playgroud)
虽然它仍然无效.如何在此特定PB上禁用该转换?我可以将超时设置为1秒,虽然我认为有更好的答案,但这个问题会消失.
我知道三元运算符本身已经是一个快捷方式,但我仍然想知道是否有这样的快捷方式groovy:
String typeFilter = (params?.type) ? params.type : ""
Run Code Online (Sandbox Code Playgroud)
我在这里尝试做的是:
“如果
HashMapparams有一个type键,则将该键的值分配给typeFilter,否则,分配typeFilter一个空字符串”
我在想是否可以避免输入params?.type两次,或者这是我给定场景的最短代码?感谢您的反馈意见。
我正在使用带有附加下拉菜单的Bootstrap 3按钮,使用以下代码:
<div class="btn-group dropup">
<button type="button" class="btn btn-primary">Save</button>
<button type="button" class="btn btn-primary dropdown-toggle"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu">
<li><a href="#">Remittance Summary</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Close Advice</a></li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
但是,插入符号比左键更小.
Remittance Summary.png http://derp.co.uk/3576a
然而,包括文字与插入符号显然消除了问题:
Remittance Summary.fixed.png http://derp.co.uk/5d282
我想知道为什么插入符号与左键不同?没有.css加载会覆盖bootstrap.如果有帮助的话,这个按钮组可以在模态页脚中找到.
我发现了问题:浏览器适用auto于height插入符号按钮而不是应用默认值34px.我想知道为什么?
javascript ×6
jquery ×5
html ×3
css ×2
java ×2
string ×2
apache-poi ×1
excel ×1
groovy ×1
websocket ×1