首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从标记中获取用于更改css的值

如何从标记中获取用于更改css的值
EN

Stack Overflow用户
提问于 2017-12-24 10:53:40
回答 2查看 39关注 0票数 0

数据是以这种方式在模板中获得的(python / jango),因此,从类中提取数据的标记p的数量会动态变化。

我的html:

代码语言:javascript
复制
{% for product in items %}
        <li>
            <p>{{ product.item_title }}</p>
            <p class="product-quantity">{{ product.quantity }}</p>
            <p>{{ product.price }}</p>
       </li>
{% endfor %}

我的js:

代码语言:javascript
复制
var quantity_block = $('.product-quantity'),
    quantity_number = parseInt(quantity_block.text());
console.log(quantity_number);

if (quantity_number < 10) {
    quantity_block.css(
        {'background-color': 'red'}
    )
}

但是这个条件永远不会被满足,因为我对6p标签有相同的选择器,并且值来自数据库(2,4,15,3.)它们是连在一起的- 24153,我在输出上得到了这样一个数字。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-24 11:03:43

要么使用.each()

代码语言:javascript
复制
$('.product-quantity').each(function () {
    var quantity_block = $(this),
        quantity_number = parseInt(quantity_block.text());

    if (quantity_number < 10) {
        quantity_block.css('background-color', 'red');
    }
});

.css( propertyName, function )

代码语言:javascript
复制
$('.product-quantity').css('background-color', function (index, oldValue) {
    var quantity_number = parseInt($(this).text());

    return quantity_number < 10 ? 'red' : oldValue;
})
票数 2
EN

Stack Overflow用户

发布于 2017-12-24 11:17:23

quantity_block包含元素的集合。因此,您需要使用每一个方法迭代此集合的元素。试着使用以下方法

代码语言:javascript
复制
$('.product-quantity').each(function() {
  var quantity_number = parseInt($(this).text());
  console.log(quantity_number);
  if (quantity_number < 10) {
    $(this).css('background-color', 'red');
  }
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="product-quantity">7</p>
<p class="product-quantity">15</p>
<p class="product-quantity">8</p>

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

https://stackoverflow.com/questions/47959957

复制
相关文章

相似问题

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