[attr],[attr=val],[attr|=val], [attr*=val],[attr^=val],[attr~=val],[attr$=val]
首先,接受一个元素具有的某一属性具有多个值。以class为例,class="new newworld"意味着这个class 具有两个值,new和newworld。
接下来,继续以class为例。[class]意味着选择了属性为class的标签,对这些标签进行操作
。
[class="newworld"]将会选中的属性class的值
有且仅有newworld,且newworld前后连空格都不能有。[class~="newworld"]将会选中的属性class的值含有值newworld,且newworld前后可以以空格分开。[class|="newworld"]将会选中的属性class的值以newworld开头,若属性class仍含有其它值,和newworld以“-"相连。[class^="newworld"]将会选中的属性class的值以字符newworld开头即可。[class*="newworld"]将会选中的属性class的值含有字符newworld。[class$="newworld"]将会选中的属性class的值已字符newworld结尾。
个人觉得[attr=val],[attr|=val]和[attr~=val]可以认为是对属性的值进行操作,而[attr*=val],[attr$=val]及[attr^=val]可以理解为是对属性的字符进行操作。