按内容选择元素,并删除其内容的第一个和最后一个字符

时间:2017-12-20 18:23:15

标签: javascript jquery css google-apps-script jquery-selectors

我有一个动态页面,可以从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>

2 个答案:

答案 0 :(得分:0)

$('some_selector')返回一个对象,所以你不能在一个对象上使用切片,它应该是一个字符串,就像你获得td后的那样: 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( _ , _ ) ;

String.prototype.slice()

答案 1 :(得分:0)

您需要循环每一行以删除最后一列的第一个和最后一个字符。用以下

替换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));
       });
    }