这里有很多类似的问题,但这些解决方案似乎都不起作用。我有一个表通过一些伏都教来动态加载内容,我希望从每行的第一个<td>
中取出前4个字符。该行的类名为&#34;任务名称&#34;。
<tbody class="row maintask" ng-repeat="task in job.Tasks">
<tr class="task-name">
<td class="col-sm-7">{{task.TaskName}}</td>
<td class="col-sm-4 col-sm-offset-1">{{task.TaskStatusStageDisplay}} <span ng-show="{{task.IsFailed}}||{{task.HasWarnings}}"><a href="{{task.StatusActionUrl}}" class="btn btn-sm btn-default pull-right" target="_Blank"> Errors</a></span>
</td>
</tr>
<tr class="subtask1 task-name" ng-repeat-start="subtask in task.SubJobTasks" ng-include="'tree_item.html'"></tr>
我试过了:
var text = '.task-name'.substring(4);
和
$('.task-name').substring(4);
以及其他一些变体,包括使用substr
和slice
。我也尝试过在页面上的其他元素上查看表格是否是问题,但这也没有奏效。有任何想法吗?欢呼声。
到目前为止,我只是尝试了所有人的建议而且没有任何工作,即使我尝试不同的课程,buuuuut ....我没有说这发生在一个模态,当我尝试它的元素而不是它工作的模态!真的不会期望一个模态会影响它,除非它更多地与表格的填充方式有关,但这些东西超出了我的想象。
答案 0 :(得分:1)
已更新 - 使用课程td
切断任何tr
中的第一个task-name
:
$('.task-name td:first-child').text(
function() {
return $(this).text().substring(4);
}
);
&#13;
td {
background-color: #F0F0F0;
padding: 2px;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table>
<tr class="task-name">
<td>first column</td>
<td>other</td>
<td>other</td>
</tr>
<tr class="task-name">
<td>first column</td>
<td>other</td>
<td>other</td>
</tr>
<tr class="task-name">
<td>first column</td>
<td>other</td>
<td>other</td>
</tr>
</table>
&#13;
答案 1 :(得分:0)
从您更新的问题中看到您正在使用AngularJS,我创建了一个过滤器:
<td class="col-sm-7">{{task.TaskName | removeFour}}</td>
angular.module(...)
.filter('removeFour', function() {
return function(data) {
return data.slice(4); // everything starting with index 4 (char 5)
};
});
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slice
直接DOM和数据微操违反了Angular的整个MVC概念。的 Read more 强>
答案 2 :(得分:0)
$(document).ready(function () {
size_li = $("#myList li").size();
x=3;
$('#myList li:lt('+x+')').show();
$('#showLess').hide();
$('#loadMore').click(function () {
x= (x+5 <= size_li) ? x+5 : size_li;
$('#myList li:lt('+x+')').show();
if(size_li == x){
$(this).hide();
}else{
$('#showLess').show();
}
});
$('#showLess').click(function () {
x=(x-5<0) ? 3 : x-5;
$('#myList li').not(':lt('+x+')').hide();
if(x <= 3){
$('#showLess').hide();
}else{
$('#loadMore').show();
}
});
答案 3 :(得分:0)
我想从每行的第一个td 中获取前4个字符 关闭即可。 行的分类名称为“任务名称”。
见:
$(".task-name td:first-child").text(function (i,n){ return $(this).text().substring(4)})
http://jsbin.com/zaxena/4/edit