余分な$('#.').click()
関数を避けるために、私はli
要素で引数を渡したいと思います。html5でjQueryに引数を埋め込む適切な方法は?
HTML5で適切な方法は何ですか?
例:
<ul>
<li>I'm clickable<code>method|parm1,parm2</code></li>
....
$('li').click(e) function() {
//I will read the method and serve...
余分な$('#.').click()
関数を避けるために、私はli
要素で引数を渡したいと思います。html5でjQueryに引数を埋め込む適切な方法は?
HTML5で適切な方法は何ですか?
例:
<ul>
<li>I'm clickable<code>method|parm1,parm2</code></li>
....
$('li').click(e) function() {
//I will read the method and serve...
<code>
タグのみをスタイリングのためにそこにある:あなたのケースでは、あなたのような何かをするだろう。
<ul>
<li data-method="method" data-params="parm1,parm2">I'm clickable</li>
<!--...-->
</ul>
data
属性を使用することを検討してください。 Embedding Custom Non-Visible Data with Data Attributesをご覧ください。
<ul>
<li data-code="method|parm1,parm2">I'm clickable</li>
....
<script>
$('li').click(function(e) {
var code = $(e.target).data("code");
// I will read the method and serve...
http://www.w3schools.com/html5/html5_reference.aspには見つかりませんか? – Teson
ああ、今私はそれを得る。ありがとう。 – Teson
私はw3仕様へのリンクを追加しました。 – toddsundsted
は、あなたが直接onclick
属性、または他の回答で述べたようdata
属性、あるいはhref="javascript:myFunction(param1, param2);return false;"
を使用することができますが、アイデア自体は間違ってい私見です:あなたは、おそらくデータがそうのような属性を使用する必要があります。マークアップにはコードを含めないでください。非常に多くの要素が変数で同じ種類の効果を持つ場合は、ジェネリックセレクタを使用してすべてを一致させ、data
属性を使用して値を保存し、jQueryを使用してコードを呼び出します。コードはマークアップから分離する必要があります。
JS
$(function() {
// Note all code is in the same block
// Note how I cached the things I thought I may need later
var $colorList = $("#colorChangeDemo");
var $colorLinks = $colorList.find("a.color-change");
function changeColor(event) {
var $colorLink = $(this);
var color = $colorLink.data("color");
$colorLinks.css("color", color);
event.preventDefault();
return false;
}
$colorLinks.click(changeColor); // Can be separate function
});
HTML
<ul id="colorChangeDemo">
<li><a class="color-change" href="#" data-color="#f00">Red</a></li>
<li><a class="color-change" href="#" data-color="#0f0">Green</a></li>
<li><a class="color-change" href="#" data-color="#00f">Blue</a></li>
</ul>
:
例は、あなたがそのリンクをクリックして、リストのテキストの色を変更したいと言うことができます実例:
。
もちろん例外があるかもしれませんが、あなたはこの道を行く良い理由があるかもしれませんが、それはしばしばコード匂いです。
は完璧にフィットします。ありがとう。 – Teson