使用以下方法无法获得价值:在JS Framework中的$("#{INPUT_ELEMENT_ID}")。val()

时间:2014-06-19 04:32:41

标签: javascript jquery unit-testing backbone.js jasmine

通常,我们可以使用JQuery获取INPUT_ELEMENT_ID值:

$("#{INPUT_ELEMENT_ID}").val();

与此代码不同:this.$("#{INPUT_ELEMENT_ID}").val();或与上面的代码行相同。

发布此问题的原因:

我使用Jamine.js框架为我的骨干应用程序编写了单元测试代码覆盖率。

如果我的Backbone应用程序的视图通常包含代码:$("#{INPUT_ELEMENT_ID}").val();,那么我可以轻松检查 INPUT_ELEMENT_ID 值。

但如果我的应用程序的视图代码包含代码:this.$("#{INPUT_ELEMENT_ID}").val();,则无法从Jasmine.js spec文件中检查 INPUT_ELEMENT_ID 的值。

(我使用Fixtures从我的Jasmine视图spec.js文件中获取 INPUT_ELEMENT_ID 值)

请帮助我,理解问题并解决问题。

提前致谢。

1 个答案:

答案 0 :(得分:0)

$("#{INPUT_ELEMENT_ID}&#34)。VAL();

用于获取带有id的值。

follwoing line is wrong 

此$("#{INPUT_ELEMENT_ID}&#34)。VAL();

we can write this as

$(本).VAL();

   here this is same id or class use in above function .
    e.g:

 $(".word_span ").on("click", function (){
   alert($(this).attr('title')); 
 });