通过jQuery将类添加到Drupal字段会输出错误的循环
我将根据字段的内容向字段中添加一个类,以便根据内容对每个字段进行不同的样式设置。想象一个汉堡的等级从1到10…我想用一张图片代替这个等级,另一张图片代替两张…以此类推 为此,我需要每个字段类反映字段内容。以下是我正在使用的代码:通过jQuery将类添加到Drupal字段会输出错误的循环,jquery,drupal-7,drupal-behaviors,Jquery,Drupal 7,Drupal Behaviors,我将根据字段的内容向字段中添加一个类,以便根据内容对每个字段进行不同的样式设置。想象一个汉堡的等级从1到10…我想用一张图片代替这个等级,另一张图片代替两张…以此类推 为此,我需要每个字段类反映字段内容。以下是我正在使用的代码: Drupal.behaviors.burgerRating = { attach: function (context, settings) { var burgerRating = $('.field-name-field-rating2').text();
Drupal.behaviors.burgerRating = {
attach: function (context, settings) {
var burgerRating = $('.field-name-field-rating2').text();
$('.field-name-field-rating2').addClass(burgerRating);
}
}
这会将字段的内容作为类输出,我可以对其进行样式设置。
然而,在博客视图中,例如页面上有三篇文章,当我需要每个字段实例的每个特定字段内容时,这段代码将所有三个类添加到所有三个字段中
我得到的是:
<div class="field-name-field-rating2 rating-1 rating-5 rating-8">
<div class="field-name-field-rating2 rating-1 rating-5 rating-8">
<div class="field-name-field-rating2 rating-1 rating-5 rating-8">
而不是:
<div class="field-name-field-rating2 rating-1">
<div class="field-name-field-rating2 rating-5">
<div class="field-name-field-rating2 rating-8">
我想我需要让它与.this()或.each()一起工作,但我无法让它工作
有什么帮助吗?谢谢。为什么要在Javascript中这样做? 你可以:
- 为此字段使用特定模板,并根据字段的值执行所需操作
- 更好,但更复杂一点:使用以下挂钩创建名为“burger_rating”的字段格式化程序:
:hook\u field\u formatter\u info
:hook\u field\u formatter\u view
这是一个了不起的系统,你也可以为你的格式化程序添加设置表单(
hook\u field\u formatter\u settings\u form
)顺便说一句,它是这个,而不是。这个()。关于你的问题:试试$(this).addClass(burgerRating)代码>或$(上下文).addClass(分级)代码>啊,是的…谢谢你指出这一点。我试过(这个)和(上下文)…都没用。谢谢你。我只是选择了jQuery路线,因为我认为它可能更容易。事实并非如此,而您的字段模板方法起了很大的作用。再次感谢。