kintoneの要素IDでハマらないための注意点まとめ

こんにちは!ジョイゾーでプラグイン開発エンジニアをしているナカです。

2026年2月のアップデートで、ラベルと罫線フィールドにも要素IDが指定可能になりました。
今まで、要素IDはスペースフィールドにしか指定できなかったので、ラベルや罫線の表示・非表示をJavaScriptで動的に制御したかった人などに待望のアップデートです。

ただし、使う際にはいくつか気をつけるポイントもあります。スムーズに活用できるよう、具体的な注意点と対策をまとめました。

弊社では初回開発無料の定額39万円でkintoneアプリを開発する定額型開発サービス「システム39」を提供しております。kintoneの導入やアプリ開発でお困りの方は、お気軽にご相談ください。
*Webでの打ち合わせも可能です。

   kintoneのアプリ開発はこちら <相談無料>    

要素IDのデフォルトは空欄

アプリに新しくフィールドを配置した時、フィールドコードは設定必須で「文字列_1行」などの値が自動で入っていますが、スペースフィールド、罫線フィールド、ラベルフィールドを配置した時、要素IDは自動では付与されず「空欄」です。

通常フィールドは設定時にフィールドコードを変更するようにしている人も多そうですが、JavaScript APIで操作する可能性がある場合は、要素IDも設定しておくと良さそうです。

フィールドコードと重複可能

実は要素IDはフィールドコードと重複可能です。
うっかり同じ名前を付けてしまうと、思わぬ不具合が発生しそうです。

kintone JavaScript APIでは、フィールドコードと要素IDが重複している場合は、フィールドコードに対応するフィールドが優先されます。

「非表示」という要素IDを設定したラベルフィールドを非表示にしようとして、以下のコードを入れた時、他に「非表示」というフィールドコードを持つフィールドがあった場合は、ラベルフィールドは非表示にならないのでご注意ください。

kintone.app.record.setFieldShown("非表示", false)

余談:「名前の重複」はカテゴリーでも要注意

要素IDとは別の話ですが、kintoneではカテゴリー名も重複して設定できます。

ただし、REST APIでカテゴリーを指定する際はカテゴリー名を使用するため、同じ名前のカテゴリーが複数あると意図したカテゴリーを特定できません。

このように、kintoneでは「設定上は同じ名前を付けられるものの、API利用時には困る」というケースがあります。要素IDとフィールドコードについても、重複させない運用にしておくのが安全です。

適用できるAPI・できないAPIの整理

要素IDが設定できるようになりましたが、すべてのJavaScript APIで直感的に使えるわけではありません。現状、表示制御系のAPIでは要素IDを利用できますが、DOMを取得するAPIでは対応状況が異なります。

⭕️ 要素IDで動作するAPI

  • kintone.app.record.setFieldShown('要素ID', false)(表示・非表示の切り替え)
  • kintone.app.record.isFieldVisible('要素ID')(表示状態の取得)

※なお、モバイル版画面には罫線フィールド自体が表示されないため、モバイル側で罫線の要素IDに対してAPIを実行しても動作しない点にご注意ください。

⚠️ 従来通りのスペース専用API

  • kintone.app.record.getSpaceElement('要素ID')

※こちらはあくまでスペースフィールド専用のAPIです。「要素IDを指定できるようになったならラベルや罫線の要素(DOM)も取れるのでは?」と思いがちですが、現状これらを取得することはできません。

❌ 要素IDでは動作しないフィールドコード専用のAPI例

  • kintone.app.record.getFieldElement()(フィールド要素の取得)

現在の仕様では、getFieldElement() に要素IDを指定しても取得できません。このような仕様になっている理由は公式ドキュメント上では確認できませんでした。フィールドコードと要素IDの重複が許容されていることも関係しているのかもしれません。

要素IDを指定した際の挙動が、「フィールドコードと重複している場合はフィールドコードが優先されるAPI(setFieldShown等)」と、「そもそも要素IDを指定できないAPI(getFieldElement)」で異なるのは、少しややこしくハマりやすいポイントです。

ハマらないためのおすすめ運用

要素IDとフィールドコードは同じ値を設定できますが、重複した場合の挙動はAPIによって異なります。そのため、要素IDを設定する際は、フィールドコードと重複しない命名ルールにしておくのがおすすめです。

例えば、space_xxxlabel_xxxline_xxx のように種類ごとの接頭辞を付けておくと、フィールドコードとの重複を避けやすくなります。

個人的には、今後さらに進化して getFieldElement() でも要素IDがそのまま使えるようになり、ラベルや罫線の要素(DOM)も簡単に取得できるようになったら最高だなと思っています!

開発者にとっても嬉しい進化が続くkintone。これからのさらなる機能拡張にも期待したいですね!

弊社では初回開発無料の定額39万円でkintoneアプリを開発する定額型開発サービス「システム39」を提供しております。kintoneの導入やアプリ開発でお困りの方は、お気軽にご相談ください。
*Webでの打ち合わせも可能です。

   kintoneのアプリ開発はこちら <相談無料>    

同じカテゴリーの記事