Chciałbym renderować atrybut HTML5 wejścia <select>
, tak aby można było użyć selektora obrazu jquery z reakcją. Mój kod to:Jak dynamicznie ustawiać atrybuty danych HTML5 za pomocą reakcji?
var Book = React.createClass({
render: function() {
return (
<option data-img-src="{this.props.imageUrl}" value="1">{this.props.title}</option>
Kwestia jest taka, że chociaż {this.props.imageUrl}
jest uzyskiwanie prawidłowo przekazany jako prop
, nie jest renderowanie w HTML - to tylko świadczy jak {this.props.imageUrl}
. Jak sprawić, aby zmienna przechodziła poprawnie do kodu HTML?
Należy również pamiętać, że nazwa atrybutu (dane-cokolwiek) musi być pisane małymi literami. –
Mam jedną wątpliwość z twojej odpowiedzi, w tym przypadku, jak możesz uzyskać wartość data-img-src w dowolnych zdarzeniach js. Jeśli potrzebujemy wartości, którą możemy uzyskać przez e.target.value, ale jeśli potrzebuję imageUrl jak będę pojąć??? – praveenkumar
@praveenkumar Możesz uzyskać do nich dostęp za pomocą 'e.target.dataset'. Zobacz [dokumentacja dla zestawu danych] (https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dataset), [dokumentacja dla atrybutów danych] (https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes) i [ten przykład CodePen] (https://codepen.io/BinaryMuse/pen/jaQVQM). –