如果Value等于Anchor's Text,则更改它的CSS
If Value is Equal to Anchor's Text then Change it's CSS
提琴1 = http://liveweave.com/gG4EHH
小提琴2 = http://jsbin.com/zequyilo/1/edit
我有一组锚点,我点击它们来改变选定元素的CSS(在本例中是font-family属性)
我要做的是在文本框中输入字体,如果字体是锚列表中的字体之一,则根据文本更改其css。
我想使用这样的方法,如果输入值等于锚的文本来改变它的css,但不完全确定如何去做。
$('.grab-font-family').on('keyup change', function() {
$('.grab-typography a').css('backgroundColor', '#444');
if ( $('.grab-typography a').text() === $(this).val() ) {
$(this).css('backgroundColor', '#1c1c1c');
}
});
我使用title属性尝试了此方法,但是当我尝试arial black
或andale mono
具有该标题的锚时。它的背景没有改变。
$('.grab-font-family').on('keyup change', function() {
$('.grab-typography a').css('backgroundColor', '#444');
$(".grab-typography a[title=" + $(this).val() + "]").css('backgroundColor', '#1c1c1c');
});
所以我尝试使用包含选择器。如果我在文本框中输入a
,这个方法将改变所有以a
开头的锚的背景颜色。
$('.grab-font-family').on('keyup change', function() {
$('.grab-typography a').css('backgroundColor', '#444');
$(".grab-typography a:contains(" + $(this).val() + ")").css('backgroundColor', '#1c1c1c');
});
filter()
是最可控的方式。你的第一种方法是只拉第一个元素的text()
在集合中。当集合中有多个元素时,这对所有getters
都是相同的。
filter()
将循环遍历所有元素,并允许您运行更复杂的条件
请确保引用带有空格的字体,否则会被浏览器误解
$('.grab-font-family').on('keyup change', function() {
var font=this.value;
$('.grab-typography a').filter(function(){
return this.title === font;/* return ones that match font */
}).css('font-family', '"'+font+'"'});
})
相关文章:
- CSS-如何定位内容数据标题
- 如何将输入(type=text)从html表单传递到javascript函数
- 窗口大小html css
- 如果文本字段为空,则使用JavaScript应用CSS样式
- 动画.CSS重播
- 有没有一种方法可以防止img get请求使用css或js发生
- CSS表格:从列平移到整个表格宽度
- CKEditor-我在editor.css中的风格是't
- 单击更改图标并通过javascript添加一个css类
- 将CSS应用于printWindow.print();在Javascript中
- 使用CSS或js,使用动态选择器选择任意li的下一个元素
- Javascript em根据窗口/视口尺寸调整大小,不影响文档样式的text/css
- .js和.css文件正在我的JSP页面中以text/html的形式加载
- 您对在HTML、CSS和JavaScript中开发理想的Sublime Text 2配置有什么建议
- CSS,有没有办法在 Angularjs 中制作“text-align-last”
- 任何人都知道为什么 XHTML 中没有类型属性“text/css”的