嗨我需要获取带空格的id的类名,但很难弄清楚它。这是我的代码的一部分
<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>
请帮助解决问题
答案 0 :(得分: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>
答案 1 :(得分:0)
在您的ID 中占用空格不正确,而是将underscore(_)
作为您的ID。
ID令牌必须以字母([A-Za-z])开头,后面可以跟任意数量的字母,数字([0-9]),连字符(“ - ”),下划线( “_”),冒号(“:”)和句号(“。”)。
Eg: 1234567890_AA_BB,1234567890_AA_BB etc
此外,您正在向函数发送四个参数,但在函数定义中仅使用其中两个参数。仅使用两个参数。
<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>