Javascript 基于用户输入动态生成id选择器
我在jQuery选择器中面临一个问题。我根据用户输入动态生成选择器字符串,如下所示:-Javascript 基于用户输入动态生成id选择器,javascript,jquery,selector,Javascript,Jquery,Selector,我在jQuery选择器中面临一个问题。我根据用户输入动态生成选择器字符串,如下所示:- jQuery("#" + userInput + "-edit").modal("show") 当用户输入值时,如AdvancedResults。选择器变为 jQuery("#AdvancedResults.-edit").modal("show") 它不会返回预期的元素,尽管 我在做些零碎的事吗?有没有更好的办法来解决这个问题 顺便说一句,为我的新问题道歉,因为我是JS世界的新手 提前感谢。只需使用:
jQuery("#" + userInput + "-edit").modal("show")
当用户输入值时,如AdvancedResults。选择器变为
jQuery("#AdvancedResults.-edit").modal("show")
它不会返回预期的元素,尽管
我在做些零碎的事吗?有没有更好的办法来解决这个问题
顺便说一句,为我的新问题道歉,因为我是JS世界的新手
提前感谢。只需使用:
使用中的转义规则,如下所示:
$("#AdvancedResults\\.-edit").modal("show");
你可以替换。到\。动态使用str.replace:
var str=高级结果。;
str=str.replace/\./g,\\.;//它将在之前动态添加\\。
console.log$+str+'-edit'.length;
如果元素确实具有id AdvancedResults.-edit,即包含一个点,则必须使用\\对其进行转义,如文档中所述,在参数为动态且可能包含jQuery-id选择器不支持的特殊字符的情况下,使用选择器
jQuery("[id='" + userInput + "-edit']").modal("show")
示例代码段:
var userInput=abc。;
alertjQuery[id='+userInput+-edit'].val
我已经解决了它使用属性黑客 具体如下:-
jQuery("[id='" + userInput + "-edit']").modal("show");
它对我非常有效。你能分享html标记吗?或演示?用户可以输入任何特殊字符。由您提供的解决方案,仅适用于.dot。