在自己的范围内设置文本输入

时间:2014-06-05 08:26:21

标签: javascript jquery

基本上,我尝试使用输入文本元素中的数据属性来设置默认值:

$('.fontsizepick').val($("#preview-iframe").contents().find($(this).data('obj')).css('font-size'));

目标是从另一个元素获取字体大小,并将其作为此输入文本元素的值。可以有很多元素。

这不起作用。它也没有给我任何错误。

以下是我如何选择:

$(".fontpick option").filter(function() {
    //may want to use $.trim in here
    return $(this).text() == $("#preview-iframe").contents().find($(this).parent().data('obj')).css('font-family');
}).prop('selected', true);

所以,我想知道如何设置一个带有类的元素并给它一个值并使用它自己的属性,基本上我想要访问$(this)......

我该怎么做?

2 个答案:

答案 0 :(得分:0)

jQuery的.val()可以接受一个函数,其上下文将是输入元素,因此您可以使用$(this)

$('.fontsizepick').val(function(){
    return $("#preview-iframe").contents().find($(this).data('obj')).css('font-size');
});

来自.val() docs

  

将值返回到set的函数。 是当前元素。接收集合中元素的索引位置和旧值作为参数。

答案 1 :(得分:0)

您需要使用一个函数,以便将$(this)设置为适当的元素。

$('.fontsizepick').val(function() {
    return $("#preview-iframe").contents().find($(this).data('obj')).css('font-size');
});