2014-09-21 76 views
0

是否可以将“.preview-inner”的背景颜色从“#change_color”更改为黄色?使用jQuery查找

<div id = "form-container> 
    <input class="color-picker" id="change_color" type="text"> 
    <div class="replacer"> 
    <div class="preview"> 
     <div class="preview-inner" style="background-color: white"> 

我已经试过这样:

$('#change_color').find('.preview-inner').css('background-color', 'yellow') 

但这并没有工作。

注:我使用的是插件,因此不能安排#change_color是“.replacer”

任何想法的一个真正的父母?

+0

为什么从'#change_color'? – underscore 2014-09-21 00:49:35

+0

因为插件的工作方式,背景颜色实际上被操纵到输入中。 (spectrum.js) – user3007294 2014-09-21 00:51:59

回答

1

为了解决您的问题,您需要选择父级,然后使用您的查找。现在你正在选择一个没有孩子的元素,并寻找一个特定的孩子,这是行不通的。

试试这个:

$('.replacer').find('.preview-inner').css('background-color', 'yellow') 

或者你可以试试这个:

$('#form-container').find('.preview-inner').css('background-color', 'yellow') 

jQuery的长相找到您所选择的元素的孩子。我已经创建了一个小提琴来展示这个例子。

http://jsfiddle.net/g2295Lah/

您可能还需要确保你有jQuery的文件准备功能,如果您的代码加载在你的HTML之前。

+0

opps,对不起。感谢您指出了这一点。我更新了选择器。它仍然.preview-inner – user3007294 2014-09-21 00:50:44

+0

我编辑了我的回复,请查看,让我知道如果有帮助。 – 2014-09-21 01:00:27

1

有可能

<div id = "form-container"> 
    <input class="color-picker" id="change_color" type="text"> 
    <div class="replacer"> 
    <div class="preview"> 
     <div class="preview-inner" style="background-color: white; height: 50px; width: 200px;"> 
     </div> 
    </div> 
    </div> 
</div> 
</body> 
<script> 
jQuery(document).ready(function(){ 
jQuery('#change_color').parent().find('.preview-inner').css('background-color', 'yellow'); 
}); 
</script> 

我指定的div的宽度和高度,所以你可以看到的颜色改变,因为如果你只是定义了一个空div没有尺寸和内容,你不能看到它。

http://jsfiddle.net/L16kpksz/

0

输入永远不会成为一个真正的父嵌套的div。你应该选择.preview-inner与一个正常的选择器$('.preview-inner').css('background-color', 'yellow')如果你使用farbtastic然后我建议你看看他们的演示,因为你没有得到它如何工作的把握。 http://acko.net/blog/farbtastic-jquery-color-picker-plug-in/

+0

感谢罗素。这个解决方案的问题是有10多个'.preview-inner',我不希望它们都变成黄色。我只是上面的一个输入,我认为这是不可能的。 – user3007294 2014-09-21 01:24:46

+0

另外,我使用的是spectrum.js(不是farbtastic) – user3007294 2014-09-21 01:25:46

+0

然后,您需要先获取兄弟姐妹的父母,然后从那里进行查找。您不会通过输入选择器找到它。祝你好运! – 2014-09-21 01:51:20