字体大小不随选择/下拉框而变化
font size not changing with select/ dropdown box
我有一个简单的<select>
下拉框,具有不同的字体大小,因此我试图用id="textDiv"
更改div中某些文本的字体大小。但它并没有真正起作用。我以前从未使用过元素,所以请帮帮我。
HTML
<select name="fontSize" size="1" id="sizeSelector">
<option value="" selected> 12px </option>
<option value="1"> 14px </option>
<option value="2"> 16px </option>
<option value="3"> 20px </option>
<option value="4"> 24px </option>
<option value="5"> 28px </option>
<option value="6"> 34px </option>
<option value="7"> 40px </option>
<option value="8"> 46px </option>
<option value="9"> 44px </option>
<option value="10"> 66px </option>
<option value="11"> 88px </option>
</select>
Jquery
$('select').change(function(){
var size = $(':selected').val();
$('#textDiv').css('font-size', size);
});
我确信Jquery逻辑有问题。感谢
您将获得页面中与:selected
匹配的所有元素,因此,如果在此之前有任何其他下拉列表,您将首先从中获得所选选项。您可以使用this
作为上下文来限制当前下拉列表中的搜索。
您使用val
方法从选项中获取值,但该选项不是表单字段,因此您将使用attr
方法获取value
属性:
var size = $(':selected', this).attr('value');
然而,从select中获取值更容易:
var size = $(this).val();
您可以使选项中的值与大小相对应,但如果这不可能,则需要使用选项的文本并忽略值:
var size = $(':selected', this).text();
如果您制作一个简单的console.log(size)
,您会注意到您选择的是选项的值,而不是其文本。您需要这样做来选择文本:
var size = $(':selected').text();
这个
$('select').change(function(){
var size = $(this).val();
$('#textDiv').css('font-size', size+'px');
});
相关文章:
- 角度ng变化或ng点击选择can'不起作用
- 每个选择器的Jquery css颜色都在变化,但字体大小却没有变化
- JavaScript:为什么不't将背景变化发送给用户's选择(简单)
- 如何选择多选的所有选项,顺序不应变化
- 更改选择框时计算价格变化
- 选择框选项不断变化
- 有没有办法防止选择菜单在值动态变化时关闭
- 如何检测从 ajax 加载的内容中选择的变化
- jQuery UI 滑块 - 根据选择而变化的自定义滑动按钮
- j查询多个和不断变化的 ID 选择器
- JavaScript:当用户用鼠标选择文本时,观察文本选择长度的变化
- 字体大小不随选择/下拉框而变化
- 如何在两个不断变化的字符串之间选择中间文本
- Angular:当列表发生变化时,如何重新绑定到之前选择的对象
- jQuery改变单选按钮上选择框的变化
- 检测UIWebView文本选择中的文本选择变化
- 四个选择选项框在每个选择框选项上动态变化
- 如何加载2个列表基于2个选择框在第一个框的变化
- 当选择的选项发生变化时,我应该动态地生成数据库查询吗?
- 使字体awesome图标改变颜色时,选择菜单的变化