2016-08-08 7 views
1

私は自分のスクリプトを書くのに問題はほとんどありません。jQuery:名前属性を読み取る方法は?

$(function(){ 
$(".wolny").click(function() { 
var godzina = this.id; 
var minuta = this.name; 
alert(godzina + ":" + minuta); 

});

アラートは、時間:分のように出力する必要があります。その代わりに私はこれを得ている:時間:未定義。 X

ここではHTMLコードだ(PHPが生成される)

<div class="col-sm-3 kafelek wolny" name="15" id="9"></div> 

感謝の任意の助けを:私は本当に何をすべきかを知りません。

+0

名前はプロパティではなく、属性です。 – evolutionxbox

答えて

1

ではなく、そのよう.attr()機能を使用してみてください:

var minuta = $(this).attr('name'); 

あなたのケースでnameは属性とない性質であるので、これは動作します。これは、追加する可能性があるfooのような任意のランダム属性で動作します。

より良い方法は、data-name="something"のようなデータ属性を追加し、$(this).data(name)と読んでください。

実施例:

$(function(){ 
 
    $(".wolny").click(function() { 
 
     var godzina = this.id; 
 
     var minuta = $(this).attr('name'); 
 
     alert(godzina + ":" + minuta); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="col-sm-3 kafelek wolny" name="15" id="9"> Click me! </div>

+0

それは働いた。ありがとうございました^^。私はできるだけ早く答えとしてあなたの質問をマークします – Ethris

+0

あなたは大歓迎です! – Shaunak

2

div要素が技術的にはないname属性を持っています。データを保存する場合は、data-*属性として保存します。

<div class="col-sm-3 kafelek wolny" data-name="15" id="9"></div> 

そして、そのように取得します:

var minuta = $(this).data('name'); 
-1

が代わりにこれを試してみてください:このような何か

$(function(){ 
 
    $(".wolny").click(function() { 
 
    var godzina = $(this).attr('id'); 
 
    var minuta = $(this).attr('name'); 
 
    alert(godzina + ":" + minuta); 
 
    }); 
 
});

を、可能な場合しかし、私が使用することをお勧めしますあなたの値のデータ属性。

<div class="col-sm-3 kafelek wolny" data-hour="9" data-minute="15"></div>

その後

は、JavaScriptで、あなたはそれのように、「データ時間」と「データ分」の代わりに「ID」の属性のためと「name」を使用します。ここでは例です今でしょ。

関連する問題