-3

マウスの後に情報が入ったボックスを作成するこのコードがあります。非常に簡単です。カーソルを合わせたdivのカスタム属性「description」をチェックしてボックスに入力するだけです。ただし、そのdivに特定のCSSクラスも含まれている場合は、他のコードがまだ機能していることに加えて、他の情報がボックスに表示されるようにしたいと思います。

$(document).ready(function(){
$(".hover").mousemove(function(e){
    if ("div").hasclass("item"){
        alert("div hasclass item");
    } else {
        var description = $(this).attr("description");
        $("#hoverdiv").text(description).show();
        $("#hoverdiv").css("top", e.clientY+10).css("left", e.clientX+5);
    }

}).mouseout(function(){
    $("#hoverdiv").hide();
});

});

それが私が今持っているコードです。私のページのホバーはまったく機能しません。これは機能するコードです。ifステートメントがないことを除いて、すべての点で同じです。

$(document).ready(function(){
$(".hover").mousemove(function(e){
    var description = $(this).attr("description");
    $("#hoverdiv").text(description).show();
    $("#hoverdiv").css("top", e.clientY+10).css("left", e.clientX+5);
}).mouseout(function(){
    $("#hoverdiv").hide();
});

});

私はこれを機能させるために何度も何度も試しましたが、テストを通して、ifステートメントを追加するだけですべてが壊れているように見えます。どうすればいいのか、どうやって直せばいいのか全くわかりません。

4

2 に答える 2

3

犯人は..

 if ("div")

たぶんあなたはしようとしていた

if($("div").something()){
}
于 2012-07-02T16:19:24.347 に答える
2
if ("div").hasclass("item") {

次のようにする必要があります。

if ( $("div").hasClass("item") ) {

さらにいくつかのテストを行うこともできます:

if ( $("div").is(".item") ) {

jQuery について読む.is()

于 2012-07-02T16:20:12.330 に答える