为什么我的 element:contains(variable) 在使用变量而不是字符串时不起作用? jquery

why isn't my element:contains(variable) work when using variable instead of string? jquery

我有一个代码来获取选项元素的值,当单击一个按钮时,它会找到该值在页面中的位置,这样我就可以向 table/ 容器中添加更多内容。

不知何故,如果我将值存储到变量中,它就不起作用。如果我直接在 $("blah:contains('blabhblah')" 中输入字符串,它就会起作用。为什么?

我的例子在html

        <div class="shipping-time-city">
            <label>City: </label>
            <select>
                <option value='bby'>Burnaby (本拿比)</option>
                <option value='van'>Vancouver (温哥华)</option>
                <option value='rmd'>Coquitlam (高贵林)</option>
            </select>
        </div>

body中的其他地方我有类似的东西

<caption>Coquitlam (高贵林)</caption> <caption>Burnaby (本拿比)</caption> <caption>Vancouver (温哥华)</caption>

所以在 jquery 中我使用了点击功能,这就是我在点击功能中的功能

var getCity = $( ".shipping-time-city option:selected" ).text();
($("caption:contains(getCity)").text('bye')  //just for testing

上面的方法行不通,但如果我这样做的话

($("caption:contains('Burnaby (本拿比)')").text('bye')

它会起作用,但我尝试了 console.log(getCity),它给了我 Burnaby (本拿比)

的输出

有人可以帮我看看我做错了什么吗?

非常感谢。

既然getCity是一个变量,那岂不是:

($("caption:contains('" + getCity + "')").text("bye");