在javascript中包含两个单词的attr id


attr id with two words in javascript

我有一个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不是一个选项现在使用属性值仍然相同的结果我仍然只得到第一个字母,我需要它是属性值的两个字母的值任何想法都值得赞赏

注意,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>";

您必须在单个单词中具有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('datagroup');alert(菜单名);