首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改类名的jQuery attr()方法

更改类名的jQuery attr()方法
EN

Stack Overflow用户
提问于 2017-11-16 09:22:06
回答 4查看 11.1K关注 0票数 0

当从下拉表单中选择选项时,我尝试使用attr() jQuery方法更改h1元素的类名。我希望类名更改为访问不同的CSS属性(字体)

我想我还没有深入到DOM中去改变类吗?

代码语言:javascript
复制
function myFontStyle() {
  $('#font').on("change", function() {
    var fontChange = this.value
    console.log(this.value);
    $('h1').attr('class', + fontChange);
  });
}
myFontStyle();
代码语言:javascript
复制
.handwriting{
  font-family: 'Pacifico', cursive;
}
.sketch{
  font-family: 'Fredericka the Great', cursive;
}
.print{
  font-family: 'Sigmar One', cursive;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label for="font">Choose font</label>
<select name="font" id="font">
  <option value="handwriting">Handwriting</option>
  <option value="sketch">Sketch</option>
  <option value="print">Print</option>
</select>

<div class="card celadonBackground">
  <div id="coverImage">
    <img src="assets/birthday.jpg"/>
  </div>
  <div class="noBorder">
    <h1 class="sketch">Happy birthday to you</h1>
  </div>
</div>

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-11-16 09:25:13

$('h1').attr('class', +fontChange);更改为

$('h1').attr('class', fontChange);

代码语言:javascript
复制
function myFontStyle() {
    $('#font').on("change", function() {
    var fontChange = this.value
    //console.log(this.value);

    $('h1').attr('class', fontChange);
    console.log('h1 has now class: ', $('h1').attr('class'))
  });
    
    
}
myFontStyle();
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label for="font">Choose font</label>
<select name="font" id="font">
  <option value="handwriting">Handwriting</option>
  <option value="sketch">Sketch</option>
  <option value="print">Print</option>
</select>

<div class="card celadonBackground">
  <div id="coverImage">
    <img src="assets/birthday.jpg"/>
  </div>
  <div class="noBorder">
    <h1 class="sketch">Happy birthday to you</h1>
  </div>
</div>

票数 0
EN

Stack Overflow用户

发布于 2017-11-16 09:29:59

您可以根据您的jQuery版本使用attr或prop:

代码语言:javascript
复制
$(selector).attr('class', 'className'); // jQuery < 1.6
$(selector).prop('class', 'className'); // jQuery >= 1.6

向现有类添加类

代码语言:javascript
复制
var classes = $(selector).prop('class');
$(selector).prop('class', classes + ' className');

删除类

代码语言:javascript
复制
var classes = $(selector).prop('class').replace('notNeededClass', '');
$(selector).prop('class', classes);

但是jQuery直接提供classManipulation

代码语言:javascript
复制
$(selector).addClass('className');
$(selector).removeClass('className');
$(selector).toggleClass('className');
票数 2
EN

Stack Overflow用户

发布于 2017-11-16 09:26:20

语法错误

代码语言:javascript
复制
function myFontStyle() {
  $('#font').on("change", function() {
    var fontChange = this.value
    console.log(this.value);

    $('h1').attr('class', fontChange);
  });
}
myFontStyle(); 

https://jsfiddle.net/zu2ku6w8/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47325791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档