我这里本地测试过,这两种写法都是可以的,我这里测试过div及input的四种写法,为了效果明显,我将font-size设置为了44px.
首先,第一种写法,是div,id="searchStr",然后给的是html,样式是color为red
然后,第二种写法,是下面的多个属性,是css({}),里面传入一个json对象,用法是不错的,但是有些属性,需要变成驼峰式的写法,比如font-size要换成fontSize,background-color等换成backgroundColor等。但是这种写法,我这里是支持的。
第三种写法,是input配合样式,我觉得这里你可能需要变更一下写法,需要把html换成val方法,因为input元素没有html,只有value属性,对应jquery中就是val方法。
如果继续使用html方法的话,输入框里没有文字,但是dom元素中是插入的
换成第四种,多个属性的话,使用val方法,也是有效果的,
如果继续使用html方法,可以看到虽然输入框里没有文字,但是输入框的大小明显被文字撑开了,所以设置的样式是有效果的。
最后,我这里使用的jquer是百度的压缩2.1.1版本,首先检查一下你使用的jquery的版本,然后去jQuery官方网站上确认一下该版本是否支持这种写法了,一般来讲应该支持的。
jquery中css()方法可以并列多个属性。如下参考
/*css(properties)把一个“名/值对”对象设置为所有匹配元素的样式属性。
这是一种在所有匹配的元素上设置大量样式属性的最佳方式。
*/
例如:
$("p").css({ color: "#ff0011", background: "blue" })
$("p").css({ "margin-left": "10px", "background-color": "blue" })
写法是正确的,就是使用逗号隔开即可。测试可以使用的。ID(#选择器)是唯一元素,一个页面上这个ID只有1个是可以用到(class可以多个其作用)。
$('#abc').css({
'<a href="https://www.baidu.com/s?wd=font-size&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y4nWKWuh79uHuhnARdPHnz0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3ErjTzn161Pj04PHcsPW64PjRz" target="_blank" class="baidu-highlight">font-size</a>' : '12px',
'-webkit-border-radius' : '5px',
'color' : '#cc0000'
})
$('#abc').css({
fontSize : '12px',
webkitBorderRadius : '5px',
color : '#c00'
})
都是正确的写法。