php - 我应该避免在 id 属性中编码信息吗

标签 php javascript jquery html ajax

最近我养成了在我的 id 中编码某些信息的习惯。比如查询数据库

select article_id, title from articles order by ...

然后使用PHP编码元素id中的信息

foreach($article as $id=>$title){
    echo '<span class="title" id="a_'.$id.'">'.$title.'</span><br />';
}

我这样做是为了可以使用 javascript/jQuery 获取 ajax 调用的 id,比如获取预览或其他内容

$("span.title").click(function(){
    var idArr = $(this).attr('id').split('_');
    data = {};
    data.id = idArr[1];
    $.ajax({
        ...
    });
});

我从未见过提倡这种方法,所以我开始怀疑我是否正在为某种灾难做好准备。

最佳答案

如果您使用的是 HTML5,则可以使用数据属性。

例如

<span class="title" data-id="' . $id . '">'.$title.'</span>

然后你可以像这样通过 jQuery 访问它:

$("span.title").click(function(){
    var id = $(this).data('id');
    $.ajax({
        ...
    });
});

关于php - 我应该避免在 id 属性中编码信息吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15240416/

相关文章:

javascript - jQuery:查找并计算包含变量的元素

javascript - 如何将特定对象值插入数组

javascript - 在 Javascript 中将类添加到 ID 数组

jquery - 在 jQuery 中获取选项的 attr

php - 传递 PHP 变量 onclick

php - WKHTMLTOPDF 在命令行上工作,但从 PHP 生成时返回 0 字节 pdf

php - Laravel 4 Auth::attempt 在正确的值上返回 false

php - 如何通过终端获取 PHP 的 tar.gz 文件?

javascript - RegEX 将 <div/foo> 替换为 </div>

jquery - 不希望元素堆叠在彼此之上