javascript - jQuery 属性选择器问题

标签 javascript jquery html css

我对 jQuery 属性选择器有疑问,我不明白为什么“Div 1”在此示例中的背景颜色为绿色。

$(document).ready(function() {
  $('div[title],[style]').css('border', '5px solid red');
  $('[title][style]').css('background-color', 'green');
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div title="div1Title">
  Div 1
</div>
<p title="p1Title">
  Paragraph 1
</p>
<div style="background-color:yellow">
  Div 2
</div>
<p title="p2Title" style="background-color:yellow">
  Paragraph 2
</p>

最佳答案

因为你的第一行导致 style 属性添加到你的 div1,这一行

$('div[title],[style]').css('border', '5px solid red');

因此您的 div1 现在具有 title 以及 style 属性,所以下一行 this

$('[title][style]').css('background-color', 'green');

适用于它。

如果你不想给你的第一个 div 应用背景颜色,只需切换你的行的顺序

关于javascript - jQuery 属性选择器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37666747/

相关文章:

javascript - 为什么我需要对凭证进行硬编码才能使用 javascript SDK 连接到 AWS?

html - CSS 两层渐变效果

javascript - 如何遍历<tr>中的元素

javascript - 如何在列表中的按钮上按间隔进行触发点击

javascript - 从 chrome.pageAction.onClicked.addListener 加载 popup.html

php - 使用 jQuery 和 PHP 减少 MySQL 查询量

javascript - 简单的动画播放/倒退按钮

javascript - 逐行淡入

javascript - DateTimeFormat 是否考虑夏令时?

php - Autocompleteplus如何检测用户语言(真实语言而不是浏览器)?