根据字符串长度更改样式

时间:2016-03-14 12:53:51

标签: javascript jquery css styles

所以我有一个数组,根据显示的图表获取多个字符串。现在我正在寻找这个数组中最长的字符串。现在这没有问题。

这个代码如下:

var textLengthArray = [];
            domContainer.find(" g > .element1 > .element2> text").each(function () {
                textLengthArray.push($(this).text());
            });


            var longestString = textLengthArray.sort(function (a, b) {
                return b.length - a.length;
            })[0];

现在我想根据最长的字符串更改这些“text”元素的字体大小。因此,如果数组中最长的字符串超过10个字符,则字体大小应更改为“x px / pt”。

我的第一个想法是关于:

 if (longestString >= 10){
 domContainer.find(" g > .brm-y-direction > .tick > text")
.style('font-size', '4pt')                            
            };

我也尝试过类似的事情:

if (longestString >= 2){
   $("g.brm-y-direction.tick").find("text").css("font-size", "4pt") ;  };

但这些解决方案根本不起作用。所以有人能告诉我如何通过javascript解决这个问题吗?

生成的HTML文本如下所示:

<g class="tick" transform="translate(0,74)" style="opacity: 1;">
     <line x2="-6" y2="0"></line>
            <text dy=".32em" x="-12" y="37" style="text-anchor: end;">sampletext</text></g>

1 个答案:

答案 0 :(得分:1)

我在HTML代码段中没有看到brm-y-direction,因此您可以尝试

$("g.tick text").css("font-size", "4pt");