为什么不是我的元素:包含(变量)工作时使用变量而不是字符串? jquery的

时间:2016-05-10 02:39:00

标签: javascript jquery html click contain

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

不知何故,如果我将值存储到变量中,它就不起作用。如果我直接在$("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>

身体的其他地方我有类似的东西

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

所以在jquery中我使用了click函数,这就是我在click函数中的内容

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 (本拿比)的输出

有人可以帮我解决我在这里做错的事吗?

非常感谢。

1 个答案:

答案 0 :(得分:1)

因为getCity是一个变量,它不会是:

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