我的网站响应菜单中的导航菜单出现问题...当我检查iPad时,使用&#x00A0 的缩进无法正常工作。

el.find('a').each(function(){
    var $this = $(this),
    optText = "  " + $this.text(),
    optSub = $this.parents( '.' + settings.subMenuClass ),
    len = optSub.length,
    dash;
    ...


我尝试了 

if( $this.parents('ul ul ul').hasClass( settings.subMenuClass ) ) {
    dash = Array( len+1 ).join( settings.subMenuDash );
    optText = '    ' + optText;
}


&#x00A0

if( $this.parents('ul ul ul').hasClass( settings.subMenuClass ) ) {
    dash = Array( len+1 ).join( settings.subMenuDash );
    optText = '&#x00A0 &#x00A0 ' + optText;
}


两者都不能在iPad上运行,但是其他设备和浏览器都很棒。

有人对我的案子有想法吗?提前致谢...

最佳答案

您应该使用$(this).html()。由于  是HTML实体,因此,如果将optText变量放在元素的.text()中,则不会解析它们。

您必须使用optText = $(this).html()进行读取,并使用$(this).html(optText)进行分配:

function() ...
    var optText = $(this).html(); // read the text
    ...
    $(this).html('   ' + optText); // replace the text adding the indention
    ...

关于javascript - &#x00A0和在iPad中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25129445/

10-10 20:09