我目前在一个项目上工作,我无法控制我应用CSS样式的HTML。HTML没有很好地标记,因为没有足够的id和class声明来区分元素。

所以,我正在寻找方法,我可以应用样式的对象,没有id或类属性。

有时,表单项具有“name”或“value”属性:

<input type="submit" value="Go" name="goButton">

是否有一种方法,我可以应用基于名称="goButton"的风格?那“价值”呢?

这是一种很难找到的东西,因为谷歌搜索会找到各种各样的例子,在这些例子中,“名字”和“价值”等宽泛的术语会出现在网页上。

我有点怀疑答案是否定的…但也许有人有聪明的破解方法?

任何建议都将不胜感激。


当前回答

文本输入示例

输入(type =文本){ 宽度:150 px; } 输入[name =名字]{ 宽度:100 px; } < input type = " text " > < br > <input type="text" name="myname">

其他回答

你探索过使用jQuery的可能性吗?它有一个非常广泛的选择器模型(在语法上类似于CSS),即使你的元素没有id,你也应该能够使用父->子->孙子关系来选择它们。一旦你选择了它们,有一个非常简单的方法调用(我忘记了确切的名字),它允许你对元素应用CSS样式。

它应该很容易使用,而且作为奖励,您很可能非常跨平台兼容。

你可以使用属性选择器,

输入[name = " goButton "] { 背景:红色; } <输入名称= " goButton " >

请注意,IE6不支持此功能。

更新:在2016年,你几乎可以随心所欲地使用它们,因为IE6已经死了。http://quirksmode.org/css/selectors/

http://reference.sitepoint.com/css/attributeselector

使用[name=elementName]{}前不带标记也可以。 它将影响所有具有此名称的元素。

例如:

[name =测试]{ 宽度:100 px; } <input type=text name=test> < div name =测试> < / div >

如果你在输入中使用的不是name而是其他元素,那么你可以用there属性来瞄准其他元素。

(标题~ =花){ 边框:5px纯黄色; } <img src=" klemtis .jpg" title=" klemtis flower" width="150" height="113"> <img src=" img_flr .gif" title="flower" width="224" height="162"> <img src=" img_flr .gif" title="flowers" width="224" height="162">

希望能有所帮助。谢谢你!

输入(type =文本){ 宽度:150 px; 长度:150 px; } 输入[name =名字]{ 宽度:100 px; 长度:150 px; } < input type = " text " > < br > <input type="text" name="myname">