attr id在javascript中有两个单词

时间:2014-10-22 04:01:43

标签: javascript php jquery html

我有一个javascript:

var menuname = $(this).attr('id');
alert(menuname);

这会获得此锚点的ID:

<a class=\"menuname\" id=" .$value['menuname']. " href='#' value=" .$value['menuname']. ">".$value['menuname']."</a>

我的问题是:

如何让id接受两个单词。

例如:在这种情况下,我希望id为Hello World,它只接受id Hello,因此我无法正确引用它。

我试图在此搜索想法,但我发现的是如何只获得两个单词的第一个单词,这不是我想要的任何建议。

更新

使用属性id现在不是一个选项,现在使用attr值仍然是相同的结果我仍然得到第一个字母,我需要它是attr值的两个字母值任何想法是赞赏

2 个答案:

答案 0 :(得分:2)

请注意,ID属性值应该是唯一的。但重要的是它会被切断,因为你没有正确关闭属性。

echo "<a class=\"menuname\" id='" .$value['menuname']. "' href='#' value='" .$value['menuname']. "'>".$value['menuname']."</a>";
                      //       ^      quotation         ^

旁注:如果您有以下字符串,这也会弄乱结束属性引用:

Hello world's of fun!

无论如何,你为什么要把这个值作为ID。

echo "<a class=\"menuname\" id='menu_" .$value['id']. "' href='#' value='" .htmlspecialchars($value['menuname'], ENT_QUOTES). "'>".$value['menuname']."</a>";

答案 1 :(得分:1)

你必须在一个单词中有id 你有两个选择来做这件事 1.只需用_

替换空格
 <a class=\"menuname\" id=" .str_replace(' ','_',$value['menuname']. " href='#' value=" .$value['menuname']. ">".$value['menuname']."</a> 
  1. 您可以指定新属性

      <a class=\"menuname\" datagroup=" .$value['menuname']. " href='#' value=" .$value['menuname']. ">".$value['menuname']."</a>
    

    var menuname = $(this).attr(&#39; datagroup&#39;); 警报(菜单名);