function Onload() {
var n = 21;
var dh = getElementsByTagName('div');
if (dh.length == n) {
dh[0].style.right = 'auto !important';
dh[0].style.left = '10px !important';
};
}
使用jQuery捕获它并在加载过程结束时更改样式的最佳方法是什么?
答案 0 :(得分:3)
我从描述中假设您只想影响具有21个字符长度的文本值的div
元素。如果是,您可以使用filter()
选择它们,然后使用addClass()
添加CSS规则。试试这个:
$('div').filter(function() {
return $(this).text().length == 21;
// return this.textContent.length == 21; // slightly faster alternative
}).addClass('foo');
.foo { color: #C00; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>foo</div>
<div>1234567-1234567890123</div>
<div>foo</div>
答案 1 :(得分:1)
在HTML页面中链接jQuery,如下所示:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
现在检查div元素文本的长度值是否为21,那么这应该有效:
// add a onload event to the window
$(window).on("load", function() {
// loop through the divs
$("div").each(function() {
// check to see if the length of the div's text is 21
if($(this).text().length == 21) {
// change the div's css
$(this).css({
"right": "auto !important",
"left": "10px !important"
});
}
});
});