Select 元素的内容并删除其内容的第一个和最后一个字符
Select element by its content and remove the first and last character of its content
我有一个动态页面,它从 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>
所以,我想 select 可视化的最后一列的值,并用 CSS, JS, JQuery
删除它们的第一个和最后一个字符...不管怎样。
值始终包含 <a href
,因此 selector 可以通过元素的内容或其行号来定义。我将尝试用代码来解释我正在尝试做什么,但这是不正确的,因为我正在混合使用这些语言。
<script>
var select = $( "td:contains('<a href')" );
select.slice(1, -1);
</script>
或者
<script>
document.getElementByTagName("TD"):contains('<a href').slice(1, -1);
</script>
$('some_selector')
returns 一个对象,所以你不能在对象上使用切片,它应该是一个字符串,在你得到你的 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( _ , _ ) ;
您需要循环每一行以删除最后一列的第一个和最后一个字符。将 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));
});
}
我有一个动态页面,它从 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>
所以,我想 select 可视化的最后一列的值,并用 CSS, JS, JQuery
删除它们的第一个和最后一个字符...不管怎样。
值始终包含 <a href
,因此 selector 可以通过元素的内容或其行号来定义。我将尝试用代码来解释我正在尝试做什么,但这是不正确的,因为我正在混合使用这些语言。
<script>
var select = $( "td:contains('<a href')" );
select.slice(1, -1);
</script>
或者
<script>
document.getElementByTagName("TD"):contains('<a href').slice(1, -1);
</script>
$('some_selector')
returns 一个对象,所以你不能在对象上使用切片,它应该是一个字符串,在你得到你的 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( _ , _ ) ;
您需要循环每一行以删除最后一列的第一个和最后一个字符。将 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));
});
}