我正在尝试选择ID为“about me”的div。我认为因为空间而遇到问题。
alert($link.attr("title"));
我得到“关于我”
alert($('#'+$link.attr("title")).attr("title"));
我未定义。
我曾尝试使用php和jquery方法删除它们,但它不起作用。
那么我该如何解决这个问题呢?
答案 0 :(得分:2)
你需要删除空格,带空格的ID无效,你会遇到各种各样的问题......就像这样:)
你可以转义它like this:
alert($('#'+$link.attr("title").replace(/ /g, "\\ ")).attr("title"));
但这不是解决问题的正确方法,删除空格是正确的方法。
答案 1 :(得分:0)
一般来说,如果你想通过变量ID获取一个元素,最好通过普通的DOM getElementById
方法做到这一点,而不是试图将它变成一个选择器,其中包含带来的所有转义问题。 。例如:
$(document.getElementById($link.attr("title")))
但是,对于空格字符的特殊情况,它是无效的,句号;正如尼克所说,你需要摆脱它。虽然HTML5中的ID比HTML4和XHTML1中的ID更宽松,但是不允许使用HTML5空格。