0
typeof document.getElementById('foo').bar('value') //returns "number"

我想改变“价值”。

console.log(document.getElementById('foo').bar('value')) // 10

我不能只是一个数字的值,它会正确地抛出一个错误:

document.getElementById('foo').bar('value')) = 12 // ReferenceError: Invalid left-hand side in assignment
10 = 12 // ReferenceError: Invalid left-hand side in assignment

你将如何设置 bar 的值?

这个特定的实例是由 jquery 提供的滑块,所以实际的代码(我试图改变它的值看起来像这样:

$('#slider').slider.val(function (index, value) {
  return value + '' + deltaY + '%'})

但是我返回了一个很长的错误,粘贴在这里:https ://gist.github.com/2e65bbf1578f7ea27bb0

“...}没有方法'val'”

4

3 回答 3

0

如果要设置输入元素的 value 属性,它总是一个字符串(设置时会转换为一个)。

bar()方法的调用返回一个值(不是“指针”),当然您不能分配给它。您需要做什么才能使函数返回不同的结果显然在很大程度上取决于该函数。


您得到的错误来自表达式$('#slider').slider.val...- $.fn.slider,您在此处访问的函数没有属性“val”(因此您无法调用)。你想在那里做什么?仔细阅读您使用的滑块插件的文档。

于 2012-07-18T23:30:14.643 回答
0

不管这是什么:

$('#slider').slider

没有方法调用val()

因此调用$('#slider').slider.val(...)显然是行不通的。

还没有测试过,但也许slider应该是一个返回对象的函数?

$('#slider').slider().val(...)

于 2012-07-19T00:04:41.810 回答
0

我认为这个问题的标题和第一部分是红鲱鱼。

我相信您正在尝试使用 JQuery UI 滑块方法?如果是这样,那么按照 Bergi 的建议进行操作并阅读文档。如果我正确理解您的需求,那么您应该注意此处的以下内容:http: //jqueryui.com/demos/slider/

在“值”部分的“选项”选项卡下:

代码示例
使用指定的值选项初始化滑块。

$( ".selector" ).slider({ value: 37 });      

在 init 之后获取或设置 value 选项。

//getter
var value = $( ".selector" ).slider( "option", "value" );
//setter
$( ".selector" ).slider( "option", "value", 37 );
于 2012-07-19T00:24:16.380 回答