Javascript 如何使用jQuery变量隐藏HTML表行

Javascript 如何使用jQuery变量隐藏HTML表行,javascript,jquery,html,Javascript,Jquery,Html,我试图隐藏tr的td值为Value1 下面的代码工作正常。但是,当我使用变量而不是值时,代码不起作用 我希望它使用变量来工作 <input type='button' value='hide/show' /> <table id="mytable"> <thead> <tr> <th>Col1</th> <th>Col2</th>

我试图隐藏trtd值为Value1

下面的代码工作正常。但是,当我使用变量而不是值时,代码不起作用

我希望它使用变量来工作

<input type='button' value='hide/show' />
<table id="mytable">
    <thead>
        <tr>
            <th>Col1</th>
            <th>Col2</th>
            <th>Col3</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Value1</td>
            <td>Value2</td>
            <td>Value3</td>
        </tr>
        <tr>
            <td>Value4</td>
            <td>Value5</td>
            <td>Value6</td>
        </tr>
    </tbody>
</table>    

<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.js"></script>
<script>
var this_value = "Value1";
$('input').click(function()
{
    // Working Fine with Value
    $('td:contains("Value1")').parent().toggle();

    // Not Working with Variable
    // $('td:contains(this_value)').parent().toggle();
});
</script>

可乐
可乐
可乐
价值1
价值2
价值3
价值4
价值5
价值6
var this_value=“Value1”;
$('input')。单击(函数()
{
//精益求精
$('td:contains(“Value1”)).parent().toggle();
//不使用变量
//$('td:contains(this_value')).parent().toggle();
});
试试这个

var this_value = "Value1";
$('input').click(function()
{
    $('td:contains('+this_value+')').parent().toggle();
});

您需要连接该值,如
$('td:contains('+this_value+'))

var this_value=“Value1”;
$('input')。单击(函数(){
//精益求精
$('td:contains(“+this_value+”)).parent().toggle();
//不使用变量
//$('td:contains(this_value')).parent().toggle();
});

可乐
可乐
可乐
价值1
价值2
价值3
价值4
价值5
价值6

代码的问题是
'td:contains(this_value)
是一个字符串,而解析器不知道
this_value
是一个变量。它只是注册为字符串的一部分

正如其他人提到的,您需要通过连接或使用模板文本将变量与字符串分离

ES5串联:

'td:contains('+this_value+')'
ES6模板文本

`td:contains(${this_value})`

普通字符串中的变量值不会自动替换。您需要使用字符串连接或