2016-07-25 31 views
-1

嗨,我需要用空格来获得id的类名,但要努力弄清它的正确性。这里是我的代码部分在id中使用空格jquery

<div onclick="javascript:Myfunction(value1.value,'AA BB',value2.value,'ddd')" class="clasname" id="1234567890AA BB"></div> 
<div onclick="javascript:Myfunction(value1.value,'CC',value2.value,'ddd')" class="clasname" id="1234567890CC"></div> 


<script> 

function Myfunction(value1, value2) 
{ 
var ValId='1234567890'; 
var a = ValId+ '' + value1; 
     // not working showing syntax error error 
     alert($('div[id='+a+']').attr('class')); 

     // working 
       alert($("div[id='1234567890AA BB']").attr('class')); 
    } 
</script> 

请帮忙解决问题

+2

from [specs](https://www.w3.org/TR/html5/dom.html#the-id-attribute):id必须包含至少一个字符,并且不得包含任何空格字符 - 所以,不要指望它工作 –

+0

它不工作,因为** value1.value **未定义 – brk

+0

@JaromandaX alert($(“div [id ='1234567890AA BB']”)。attr('类'));这工作正常 –

回答

0

这不是最好使用ID与空间。

但我想用下面的代码来帮助你,它会根据点击给出该div的id。

<script src="https://code.jquery.com/jquery-2.2.4.js" integrity="sha256-iT6Q9iMJYuQiMWNd9lDyBUStIq/8PuOW33aOqmvFpqI=" crossorigin="anonymous"></script> 
<div class="clasname" id="1234567890AA BB">Test2</div> 
<div class="clasname" id="1234567890CC">Test1</div> 

<script> 
$('.clasname').click(function(){ 
    alert($(this).attr('id')); 
}); 
</script> 
0

这是不正确的拿在ID的,而不是采取underscore(_)为您的ID的空间。

ID令牌必须以字母([A-Za-z])开头,后面跟随任意数量的字母,数字([0-9]),连字符(“ - ”),下划线(“ _“),冒号(”:“)和句点(”。“)。

Eg: 1234567890_AA_BB,1234567890_AA_BB etc

另外,您要发送四个参数的功能,但只取其中的两个功能definition.Take只有两个参数。

<div onclick="javascript:Myfunction('AA_BB','ddd')" class="clasname" id="1234567890AA_BB"></div> 
<div onclick="javascript:Myfunction('CC','ddd')" class="clasname" id="1234567890CC"></div> 

您应该只发送两个参数,这可能适用于您。

<div onclick="javascript:Myfunction('AA_BB','ddd')" class="clasname" id="1234567890_AA_BB"></div> 
<div onclick="javascript:Myfunction(value1.value,'CC',value2.value,'ddd')" class="clasname" id="1234567890CC"></div> 

<script> 
function Myfunction(value1, value2) 
{ 
    var ValId='1234567890'; 
    var a = ValId+'_'+value1; // Gives you '1234567890_AA_BB' 
    alert($("div[id='+a+']").attr('class')); 
} 
</script>