按内容选择元素,并删除其内容的第一个和最后一个字符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了按内容选择元素,并删除其内容的第一个和最后一个字符相关的知识,希望对你有一定的参考价值。
我有一个动态页面,可以从Google App Script中获取数据并使用它们进行可视化。
这是我用作htmlService
的代码
的index.html
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load('current', {'packages':['table']});
google.charts.setOnLoadCallback(drawSheetName);
function drawSheetName() {
var query = new google.visualization.Query('/*query contents*/');
query.send(drawTable);
}
function drawTable(response) {
var data = response.getDataTable();
var table = new google.visualization.Table(document.getElementById('table_div'));
table.draw(data, {showRowNumber: false, width: '100%', height:'100%'});
}
</script>
<body>
<div id="table_div"></div>
</body>
所以,我想选择可视化的最后一列的值,并用CSS, JS, JQuery
删除它们的第一个和最后一个字符......无论如何。
值始终包含<a href
,因此可以通过元素的内容或行号来定义选择器。我将尝试用代码解释我正在尝试做什么,但这是不正确的,因为我正在混合语言。
<script>
var select = $( "td:contains('<a href')" );
select.slice(1, -1);
</script>
要么
<script>
document.getElementByTagName("TD"):contains('<a href').slice(1, -1);
</script>
答案
您需要循环每一行以删除最后一列的第一个和最后一个字符。用以下替换drawTable
功能
function drawTable(response) {
var data = response.getDataTable();
var table = new google.visualization.Table(document.getElementById('table_div'));
table.draw(data, {showRowNumber: false, width: '100%', height:'100%'});
$(".google-visualization-table-table tr td:nth-child(11)").each(function() { // Assuming 11 is the last column number
var data = $(this).text();
$(this).text(data.slice(1, data.length - 1));
});
}
另一答案
$('some_selector')
返回一个对象,所以你不能在一个对象上使用切片,它应该是一个字符串,就像这样你得到你的td
s:
var toBeSliced = "Hello world"; // string
toBeSliced = toBeSliced.slice(1,toBeSliced.length -1 ); // cut off first and last chars
console.log(toBeSliced);
在获得包含数据的html标签后,您可以使用element.textContent.slice( _ , _ ) ;
以上是关于按内容选择元素,并删除其内容的第一个和最后一个字符的主要内容,如果未能解决你的问题,请参考以下文章