我正在修复与jQuery 1.1.3.1兼容的jQuery plugin并对其进行升级,以便它可以与jQuery 1.6.2一起使用。
我假设有两个CSS选择器表达式已被弃用。
第一个表达式是:
$("li", _dropDownListJQuery).not("ul").not("span").not("[@dataType='optgroup']").each(
看起来不再支持@datatype
。
第二个表达是:
var selectedDropDownListItemJQuery = jQuery("li[@dataValue='" + _originalElementJQuery.val() + "']");
哪里
_originalElementJQuery.val()
返回一个字符串化的整数(例如“4”)。
再次看起来不再支持@dataValue
。
有谁知道保留等价物的任何含义?或者这个插件是在github上分叉的?
答案 0 :(得分:5)
那是XPath Selector。它们在jQuery 1.2中被弃用,在jQuery 1.3中被删除并移到了plugin。 See the 1.3 release notes here。展望未来,jQuery选择器大多支持CSS选择器样式。
$("li[@dataValue='foo']")
将成为$("li[dataValue='foo']")
该插件jquery.combobox显然已被放弃,因为没有任何进一步的发展。
使用BoltClock的修正进行编辑。
答案 1 :(得分:1)
只需删除@
符号即可。选择器语法现在遵循css选择器(我认为@是来自xpath)。
您还可以简化选择器:
$("li:not([dataType='optgroup'])", _dropDownListJQuery)
编辑:已确认,[@ attrName = attrValue]为xpath